discourse/config/site_settings.yml

1934 lines
42 KiB
YAML
Raw Normal View History

# Available options:
#
2016-06-29 15:23:29 +08:00
# default - The default value of the setting.
# client - Set to true if the javascript should have access to this setting's value.
# refresh - Set to true if clients should refresh when the setting is changed.
# min - For a string setting, the minimum length. For an integer setting, the minimum value.
# max - For a string setting, the maximum length. For an integer setting, the maximum value.
# regex - A regex that the value must match.
# validator - The name of the class that will be use to validate the value of the setting.
# allow_any - For choice settings allow items not specified in the choice list (default true)
# secret - Set to true if input type should be password and value needs to be scrubbed from logs (default false).
2016-06-29 15:23:29 +08:00
# enum - The setting has a fixed set of allowed values, and only one can be chosen.
# Set to the class name that defines the set.
# shadowed_by_global - "Shadow" a site setting with a GlobalSetting. If the GlobalSetting
# exists it will be used instead of the setting and the setting will be hidden.
# Useful for things like API keys on multisite.
# locale_default - A hash which overrides according to `SiteSetting.default_locale`.
# The key should be as the same as possible value of default_locale.
#
2016-06-29 15:23:29 +08:00
#
# type: email - Must be a valid email address.
# type: username - Must match the username of an existing user.
# type: list - A list of values, chosen from a set of valid values defined in the choices option.
# type: enum - A single value, chosen from a set of valid values in the choices option.
#
# A type:list setting with the word 'colors' in its name will make color values have a bold line of the corresponding color
#
required:
title:
client: true
default: "Discourse"
site_description:
default: ""
short_site_description:
default: ""
contact_email:
2015-01-07 06:28:42 +08:00
client: true
default: ""
type: email
2015-02-24 01:39:13 +08:00
contact_url:
client: true
default: ""
notification_email:
default: "noreply@unconfigured.discourse.org"
type: email
shadowed_by_global: true
2014-06-12 02:42:41 +08:00
site_contact_username:
default: ""
type: username
2018-11-14 15:03:02 +08:00
logo:
default: ""
client: true
2018-11-14 15:03:02 +08:00
type: upload
logo_url:
hidden: true
default: "/images/d-logo-sketch.png"
2018-11-14 15:03:02 +08:00
logo_small:
default: ""
client: true
2018-11-14 15:03:02 +08:00
type: upload
logo_small_url:
hidden: true
default: "/images/d-logo-sketch-small.png"
2018-11-14 15:03:02 +08:00
digest_logo:
default: ""
2018-11-14 15:03:02 +08:00
client: true
type: upload
digest_logo_url:
2018-11-14 15:03:02 +08:00
hidden: true
default: ""
2018-11-14 15:03:02 +08:00
mobile_logo:
default: ""
2014-06-19 03:44:00 +08:00
client: true
2018-11-14 15:03:02 +08:00
type: upload
mobile_logo_url:
hidden: true
default: ""
2018-11-14 15:03:02 +08:00
large_icon:
default: ""
2018-11-14 15:03:02 +08:00
client: true
type: upload
large_icon_url:
2018-11-14 15:03:02 +08:00
hidden: true
default: ""
2018-11-14 15:03:02 +08:00
favicon:
default: ""
2013-11-14 03:02:47 +08:00
client: true
2018-11-14 15:03:02 +08:00
type: upload
favicon_url:
hidden: true
default: "/images/default-favicon.ico"
2018-11-14 15:03:02 +08:00
apple_touch_icon:
default: ""
2018-11-14 15:03:02 +08:00
client: true
type: upload
apple_touch_icon_url:
hidden: true
default: "/images/default-apple-touch-icon.png"
2018-11-14 15:03:02 +08:00
opengraph_image:
default: ""
2018-11-14 15:03:02 +08:00
type: upload
default_opengraph_image_url:
hidden: true
default: ""
2018-11-14 15:03:02 +08:00
twitter_summary_large_image:
default: ""
2018-11-14 15:03:02 +08:00
type: upload
twitter_summary_large_image_url:
hidden: true
default: ""
exclude_rel_nofollow_domains:
default: ""
type: list
company_name:
default: ""
governing_law:
default: ""
city_for_disputes:
default: ""
2013-11-14 03:02:47 +08:00
2013-11-15 04:05:48 +08:00
basic:
allow_user_locale:
client: true
default: false
set_locale_from_accept_language_header:
default: false
validator: "AllowUserLocaleEnabledValidator"
2018-01-29 10:33:55 +08:00
support_mixed_text_direction:
client: true
default: false
2016-08-18 05:23:16 +08:00
categories_topics:
default: 20
min: 5
max: 2000
suggested_topics:
client: true
default: 5
max: 2000
limit_suggested_to_category:
default: false
suggested_topics_max_days_old:
default: 365
min: 7
max: 10000
2014-01-26 08:42:25 +08:00
ga_universal_tracking_code:
client: true
default: ""
regex: "^UA-\\d+-\\d+$"
2014-01-26 08:42:25 +08:00
ga_universal_domain_name:
client: true
default: "auto"
ga_universal_auto_link_domains:
default: ""
type: list
gtm_container_id:
client: true
default: ""
regex: "^GTM-"
2013-11-15 04:05:48 +08:00
top_menu:
client: true
refresh: true
type: list
list_type: compact
default: "latest|new|unread|top|categories"
2015-02-27 06:01:29 +08:00
regex: "latest"
regex_error: "site_settings.errors.must_include_latest"
validator: RegexPresenceValidator
allow_any: false
choices:
- latest
- new
- unread
- top
- categories
- read
- posted
- bookmarks
2013-11-15 04:05:48 +08:00
post_menu:
client: true
type: list
default: "like-count|like|share|flag|edit|bookmark|delete|admin|reply"
allow_any: false
choices:
- like-count
- like
- edit
- flag
- delete
- share
- bookmark
- admin
- reply
post_menu_hidden_items:
client: true
type: list
default: "flag|bookmark|edit|delete|admin"
allow_any: false
choices:
- like
- edit
- flag
- delete
- share
- bookmark
- admin
- reply
2013-11-15 04:05:48 +08:00
share_links:
client: true
type: list
default: "twitter|facebook|email"
allow_any: false
choices:
- twitter
- facebook
- email
desktop_category_page_style:
client: true
enum: "CategoryPageStyle"
default: "categories_and_latest_topics"
2013-11-15 04:05:48 +08:00
category_colors:
client: true
type: list
list_type: compact
default: "BF1E2E|F1592A|F7941D|9EB83B|3AB54A|12A89D|25AAE2|0E76BD|652D90|92278F|ED207B|8C6238|231F20|808281|B3B5B4|E45735"
category_style:
client: true
default: "bullet"
type: enum
choices:
- bar
- box
- bullet
- none
enable_mobile_theme:
client: true
default: true
hidden: true
default_theme_id:
default: -1
hidden: true
2013-11-15 04:05:48 +08:00
relative_date_duration:
client: true
default: 30
topics_per_period_in_top_summary:
default: 20
min: 1
topics_per_period_in_top_page:
default: 50
min: 1
top_page_default_timeframe:
default: "yearly"
type: enum
choices:
- all
- yearly
- quarterly
- monthly
- weekly
- daily
fixed_category_positions:
client: true
default: false
fixed_category_positions_on_create:
client: true
default: false
2014-03-05 20:52:20 +08:00
enable_badges:
client: true
2014-07-02 10:32:16 +08:00
default: true
enable_badge_sql:
client: true
default: false
hidden: true
2015-09-11 04:01:23 +08:00
enable_whispers:
client: true
default: false
push_notifications_prompt:
default: true
client: true
2018-11-14 15:03:02 +08:00
push_notifications_icon:
default: ""
2018-11-14 15:03:02 +08:00
type: upload
push_notifications_icon_url:
2018-11-14 15:03:02 +08:00
hidden: true
default: ""
short_title:
default: ""
max: 12
vapid_public_key_bytes:
default: ""
client: true
hidden: true
vapid_public_key:
default: ""
hidden: true
vapid_private_key:
default: ""
hidden: true
2013-11-15 04:05:48 +08:00
2014-07-13 17:23:31 +08:00
login:
2013-11-14 03:02:47 +08:00
invite_only:
refresh: true
client: true
default: false
2013-11-14 03:02:47 +08:00
login_required:
refresh: true
client: true
default: false
must_approve_users:
client: true
default: false
enable_local_logins:
client: true
default: true
enable_local_logins_via_email:
client: true
default: true
validator: "EnableLocalLoginsViaEmailValidator"
allow_new_registrations:
client: true
default: true
2015-09-02 07:16:19 +08:00
enable_signup_cta:
client: true
default: true
enable_google_oauth2_logins:
default: false
google_oauth2_client_id: ""
google_oauth2_client_secret:
default: ""
secret: true
google_oauth2_prompt:
default: ""
type: list
choices:
- ""
- "none"
- "consent"
- "select_account"
google_oauth2_hd:
default: ""
2013-11-14 03:02:47 +08:00
enable_yahoo_logins:
default: false
2013-11-14 03:02:47 +08:00
enable_twitter_logins:
default: false
twitter_consumer_key:
default: ""
regex: "^[\\w+-]+$"
twitter_consumer_secret:
default: ""
regex: "^[\\w+-]+$"
secret: true
2016-02-25 09:21:59 +08:00
enable_instagram_logins:
default: false
instagram_consumer_key:
default: ""
2016-02-25 09:21:59 +08:00
regex: "^[a-z0-9]+$"
instagram_consumer_secret:
default: ""
2016-02-25 09:21:59 +08:00
regex: "^[a-z0-9]+$"
secret: true
2013-11-14 03:02:47 +08:00
enable_facebook_logins:
default: false
facebook_app_id:
default: ""
regex: "^\\d+$"
facebook_app_secret:
default: ""
regex: "^[a-f0-9]+$"
secret: true
2013-11-14 03:02:47 +08:00
enable_github_logins:
default: false
github_client_id:
default: ""
regex: "^[a-f0-9]+$"
github_client_secret:
default: ""
regex: "^[a-f0-9]+$"
secret: true
enable_sso:
client: true
default: false
validator: "EnableSsoValidator"
sso_allows_all_return_paths: false
enable_sso_provider: false
verbose_sso_logging: false
verbose_auth_token_logging:
hidden: true
default: true
max_suspicious_distance_km:
hidden: true
default: 500
sso_url:
default: ""
regex: '^https?:\/\/.+[^\/]$'
sso_secret:
default: ""
secret: true
sso_provider_secrets:
default: ""
type: list
list_type: secret
secret: true
placeholder:
key: "sso_provider.key_placeholder"
value: "sso_provider.value_placeholder"
sso_overrides_groups: false
sso_overrides_bio: false
sso_overrides_email:
default: false
validator: "SsoOverridesEmailValidator"
sso_overrides_username: false
sso_overrides_name: false
sso_overrides_avatar:
default: false
client: true
sso_overrides_profile_background: false
sso_overrides_card_background: false
sso_not_approved_url: ""
email_domains_blacklist:
default: "mailinator.com"
type: list
email_domains_whitelist:
default: ""
type: list
hide_email_address_taken: false
log_out_strict: true
pending_users_reminder_delay:
min: -1
default: 8
maximum_session_age:
default: 1440
min: 1
max: 175200
2014-07-13 17:23:31 +08:00
users:
min_username_length:
client: true
default: 3
min: 1
max: 60
validator: "MinUsernameLengthValidator"
2014-07-13 17:23:31 +08:00
max_username_length:
client: true
default: 20
min: 8
max: 60
validator: "MaxUsernameLengthValidator"
reserved_usernames:
type: list
list_type: compact
default: "admin|moderator|administrator|mod|sys|system|community|info|you|name|username|user|nickname|discourse|discourseorg|discourseforum|support|hp|account-created|password-reset|admin-login|confirm-admin|account-created|activate-account|confirm-email-token|authorize-email"
2014-07-13 17:23:31 +08:00
min_password_length:
client: true
default: 10
2017-03-05 17:08:37 +08:00
min: 8
2017-04-28 07:38:50 +08:00
max: 500
min_admin_password_length:
client: true
default: 15
2017-03-05 17:08:37 +08:00
min: 8
2017-04-28 07:38:50 +08:00
max: 500
password_unique_characters:
default: 6
min: 1
2017-04-28 07:39:27 +08:00
max: 10
2014-07-13 17:23:31 +08:00
block_common_passwords: true
2013-11-14 03:02:47 +08:00
username_change_period: 3
email_editable: true
logout_redirect:
client: true
default: ""
full_name_required:
client: true
default: false
2013-11-14 03:02:47 +08:00
enable_names:
client: true
default: true
invite_expiry_days:
default: 30
2014-08-01 19:06:31 +08:00
invites_per_page:
client: true
2014-08-01 19:06:31 +08:00
default: 40
2017-05-24 14:00:43 +08:00
hidden: true
delete_user_max_post_age:
client: true
default: 60
delete_all_posts_max:
client: true
default: 15
min: 1
redirect_users_to_top_page: true
show_email_on_profile:
client: true
default: false
prioritize_username_in_ux:
client: true
default: true
email_token_valid_hours:
default: 48
min: 1
purge_unactivated_users_grace_period_days:
default: 14
public_user_custom_fields:
type: list
default: ""
staff_user_custom_fields:
type: list
default: ""
enable_user_directory:
client: true
default: true
allow_anonymous_posting:
default: false
client: true
anonymous_posting_min_trust_level:
default: 1
enum: "TrustLevelSetting"
client: true
anonymous_account_duration_minutes:
default: 10080
max: 99000
hide_user_profiles_from_public:
default: false
client: true
show_inactive_accounts:
default: false
user_website_domains_whitelist:
default: ""
type: list
hide_suspension_reasons:
default: false
client: true
2018-01-27 20:51:22 +08:00
log_personal_messages_views: false
2014-07-02 07:08:25 +08:00
groups:
enable_group_directory:
client: true
default: true
group_in_subject:
default: false
2013-11-14 03:02:47 +08:00
posting:
min_post_length:
client: true
min: 1
default: 20
locale_default:
2018-09-11 17:58:22 +08:00
ja: 8
zh_CN: 8
zh_TW: 8
min_first_post_length:
client: true
min: 1
default: 20
locale_default:
2018-09-11 17:58:22 +08:00
ja: 8
zh_CN: 8
zh_TW: 8
min_personal_message_post_length:
client: true
min: 1
default: 10
locale_default:
2018-09-11 17:58:22 +08:00
ja: 3
zh_CN: 3
zh_TW: 3
max_post_length:
client: true
default: 32000
max: 99000
topic_featured_link_enabled:
client: true
2016-12-10 05:08:17 +08:00
default: true
body_min_entropy:
default: 7
locale_default:
ja: 3
zh_CN: 3
zh_TW: 3
min_topic_title_length:
client: true
default: 15
min: 1
locale_default:
2018-09-11 17:58:22 +08:00
ja: 6
zh_CN: 6
zh_TW: 6
max_topic_title_length:
client: true
default: 255
min: 5
max: 255
title_min_entropy:
default: 10
locale_default:
ja: 3
zh_CN: 3
zh_TW: 3
allow_uppercase_posts:
default: false
locale_default:
2018-09-11 17:58:22 +08:00
ja: true
max_consecutive_replies:
default: 3
title_prettify:
default: true
locale_default:
ja: false
zh_CN: false
zh_TW: false
2013-11-14 03:02:47 +08:00
title_fancy_entities: true
min_personal_message_title_length:
client: true
default: 2
min: 1
max_emojis_in_title: 1
allow_uncategorized_topics:
client: true
default: true
refresh: true
2013-11-14 03:02:47 +08:00
allow_duplicate_topic_titles: false
min_title_similar_length:
client: true
2013-11-14 03:02:47 +08:00
default: 10
locale_default:
2018-09-11 17:58:22 +08:00
ja: 4
zh_CN: 4
zh_TW: 4
enable_personal_messages:
default: true
client: true
enable_system_message_replies:
default: true
enable_personal_email_messages:
hidden: true
default: false
client: true
validator: "EnablePrivateEmailMessagesValidator"
editing_grace_period: 300
editing_grace_period_max_diff: 100
editing_grace_period_max_diff_high_trust: 400
staff_edit_locks_post: false
shared_drafts_category:
type: category
default: ""
post_edit_time_limit:
default: 86400
max: 525600
2013-11-14 03:02:47 +08:00
edit_history_visible_to_public:
client: true
default: true
2013-11-14 03:02:47 +08:00
delete_removed_posts_after:
client: true
2013-11-14 03:02:47 +08:00
default: 24
traditional_markdown_linebreaks:
client: true
2013-11-14 03:02:47 +08:00
default: false
enable_markdown_typographer:
client: true
default: true
enable_markdown_linkify:
client: true
default: true
markdown_linkify_tlds:
client: true
type: list
default: "com|net|org|io|co|tv|ru|cn|us|uk|me|de|fr|fi|gov"
list_type: compact
enable_rich_text_paste:
client: true
2018-08-01 19:06:16 +08:00
default: true
2013-11-14 03:02:47 +08:00
suppress_reply_directly_below:
client: true
default: true
2013-11-14 03:02:47 +08:00
suppress_reply_directly_above:
client: true
2013-11-14 03:02:47 +08:00
default: true
suppress_reply_when_quoting:
default: true
remove_full_quote:
default: true
max_reply_history:
default: 1
client: true
2013-11-14 03:02:47 +08:00
post_undo_action_window_mins: 10
enable_mentions:
default: true
client: true
2013-11-14 03:02:47 +08:00
max_mentions_per_post: 10
max_users_notified_per_group_mention: 100
newuser_max_replies_per_topic: 3
2013-11-14 03:02:47 +08:00
newuser_max_mentions_per_post: 2
title_max_word_length: 30
whitelisted_link_domains:
default: ""
type: list
2013-11-14 03:02:47 +08:00
newuser_max_links: 2
newuser_max_images:
client: true
2015-09-06 18:11:02 +08:00
default: 1
2013-11-14 03:02:47 +08:00
newuser_max_attachments:
client: true
2013-11-14 03:02:47 +08:00
default: 0
post_excerpt_maxlength:
default: 300
locale_default:
2018-09-11 17:58:22 +08:00
ja: 120
zh_CN: 120
zh_TW: 120
show_pinned_excerpt_mobile:
client: true
default: true
show_pinned_excerpt_desktop:
client: true
default: true
2013-11-14 03:02:47 +08:00
display_name_on_posts:
client: true
default: false
show_time_gap_days:
default: 7
client: true
short_progress_text_threshold:
client: true
default: 10000
max: 99000
default_code_lang:
client: true
default: "auto"
warn_reviving_old_topic_age: 180
autohighlight_all_code:
client: true
default: false
highlighted_languages:
default: "apache|bash|cs|cpp|css|coffeescript|diff|xml|http|ini|json|java|javascript|makefile|markdown|nginx|objectivec|ruby|perl|php|python|sql|handlebars"
choices: "HighlightJs.languages"
type: list
client: true
list_type: compact
delete_old_hidden_posts: true
2014-12-23 08:12:26 +08:00
enable_emoji:
default: true
client: true
enable_emoji_shortcuts:
default: true
client: true
2014-12-23 08:12:26 +08:00
emoji_set:
default: "twitter"
2014-12-23 08:12:26 +08:00
client: true
enum: "EmojiSetSiteSetting"
emoji_autocomplete_min_chars:
client: true
default: 0
locale_default:
fr: 1
enable_inline_emoji_translation:
client: true
default: false
locale_default:
zh_CN: true
zh_TW: true
ja: true
ko: true
2015-04-16 00:12:20 +08:00
approve_post_count:
default: 0
approve_unless_trust_level:
default: 0
enum: "TrustLevelSetting"
approve_new_topics_unless_trust_level:
default: 0
enum: "TrustLevelSetting"
approve_unless_staged:
default: false
notify_about_queued_posts_after:
default: 24
auto_close_messages_post_count:
default: 500
shadowed_by_global: true
auto_close_topics_post_count:
default: 10000
shadowed_by_global: true
code_formatting_style:
client: true
type: enum
default: "4-spaces-indent"
choices:
- 4-spaces-indent
- code-fences
embed_truncate:
default: true
embed_support_markdown:
default: false
allowed_href_schemes:
client: true
default: ""
type: list
list_type: compact
max_allowed_message_recipients:
default: 30
min: 1
watched_words_regular_expressions:
client: true
default: false
enable_advanced_editor_preview_sync:
hidden: true
default: false
client: true
shadowed_by_global: true
2013-11-14 03:02:47 +08:00
email:
email_time_window_mins:
default: 10
client: true
personal_email_time_window_seconds: 20
2013-11-14 03:02:47 +08:00
email_posts_context: 5
digest_min_excerpt_length:
default: 100
locale_default:
2018-09-11 17:58:22 +08:00
ja: 50
zh_CN: 50
zh_TW: 50
digest_topics:
default: 5
min: 1
max: 20
digest_posts:
default: 5
min: 0
max: 20
digest_other_topics:
default: 5
min: 0
max: 20
suppress_digest_email_after_days:
default: 365
digest_suppress_categories:
type: category_list
default: ""
2015-01-27 12:46:21 +08:00
disable_digest_emails:
default: false
client: true
email_accent_bg_color: "#2F70AC"
email_accent_fg_color: "#FFFFFF"
email_link_color: "#006699"
show_topic_featured_link_in_digest: false
email_custom_headers: "Auto-Submitted: auto-generated"
email_subject: "[%{site_name}] %{optional_pm}%{optional_cat}%{topic_title}"
reply_by_email_enabled:
default: false
validator: "ReplyByEmailEnabledValidator"
2014-12-31 16:04:20 +08:00
reply_by_email_address:
default: ""
validator: "ReplyByEmailAddressValidator"
alternative_reply_by_email_addresses:
default: ""
validator: "AlternativeReplyByEmailAddressesValidator"
find_related_post_with_key:
default: true
manual_polling_enabled:
default: false
pop3_polling_enabled:
default: false
validator: "POP3PollingEnabledSettingValidator"
pop3_polling_ssl: true
pop3_polling_openssl_verify: true
pop3_polling_period_mins: 5
pop3_polling_host: ""
pop3_polling_port: 995
pop3_polling_username: ""
pop3_polling_password:
default: ""
secret: true
2017-12-14 23:03:27 +08:00
pop3_polling_delete_from_server: true
log_mail_processing_failures: false
incoming_email_prefer_html: true
email_in:
default: false
client: true
email_in_min_trust:
default: 2
enum: "TrustLevelSetting"
email_in_spam_header:
type: enum
default: "none"
choices:
- none
- X-Spam-Flag
- X-Spam-Status
email_prefix: ""
email_site_title: ""
disable_emails:
client: true
type: enum
default: "no"
choices:
- "no"
- "yes"
- "non-staff"
2014-09-13 13:26:31 +08:00
strip_images_from_short_emails: true
short_email_length: 2800
display_name_on_email_from:
default: true
2016-01-20 17:25:25 +08:00
unsubscribe_via_email:
default: true
unsubscribe_via_email_footer:
default: false
disallow_reply_by_email_after_days:
default: 90
shadowed_by_global: true
delete_email_logs_after_days:
default: 90
shadowed_by_global: true
max_emails_per_day_per_user: 100
2016-03-24 01:56:03 +08:00
enable_staged_users: true
maximum_staged_users_per_email: 10
auto_generated_whitelist:
default: ""
type: list
block_auto_generated_emails: true
ignore_by_title:
type: list
default: ""
2016-05-30 23:11:17 +08:00
mailgun_api_key:
default: ""
2018-08-02 01:04:49 +08:00
regex: '^(key-\h{32}|\h{32}-\h{8}-\h{8})$'
secret: true
bounce_score_threshold:
client: true
default: 4
min: 1
bounce_score_threshold_deactivate: 30
bounce_score_erode_on_send:
default: 0.1
hidden: true
soft_bounce_score:
default: 1
min: 1
hard_bounce_score:
default: 2
min: 2
reset_bounce_score_after_days:
default: 30
attachment_content_type_blacklist:
type: list
default: "pkcs7|x-vcard"
list_type: compact
attachment_filename_blacklist:
type: list
2017-12-14 03:48:04 +08:00
default: "smime.p7s|signature.asc|winmail.dat"
list_type: compact
enable_forwarded_emails: false
always_show_trimmed_content: false
private_email: false
2013-11-14 03:02:47 +08:00
files:
2016-04-07 04:51:28 +08:00
max_image_size_kb:
client: true
default: 4096
max: 102400
2016-04-07 04:51:28 +08:00
max_attachment_size_kb:
client: true
default: 4096
max: 1024000
max_image_megapixels:
default: 40
min: 5
max: 150
max_export_file_size_kb:
hidden: true
default: 50000
max: 1024000
theme_authorized_extensions:
default: "jpg|jpeg|png|woff|woff2|svg|eot|ttf|otf|gif"
type: list
list_type: compact
authorized_extensions:
client: true
default: "jpg|jpeg|png|gif"
refresh: true
type: list
list_type: compact
authorized_extensions_for_staff:
client: true
default: ""
refresh: true
type: list
list_type: compact
export_authorized_extensions:
hidden: true
default: "gz"
type: list
list_type: compact
responsive_post_image_sizes:
default: "1|1.5|2"
type: list
list_type: compact
crawl_images:
default: true
max_image_width:
client: true
default: 690
max_image_height:
client: true
default: 500
download_remote_images_to_local:
default: true
download_remote_images_threshold: 10
download_remote_images_max_days_old:
default: 30
min: 1
max: 10000
disabled_image_download_domains:
type: list
default: ""
create_thumbnails: true
clean_up_uploads: true
clean_orphan_uploads_grace_period_hours: 48
purge_deleted_uploads_grace_period_days:
default: 30
shadowed_by_global: true
prevent_anons_from_downloading_files:
default: false
client: true
enable_s3_uploads:
default: false
client: true
s3_use_iam_profile: false
s3_access_key_id:
default: ""
secret: true
shadowed_by_global: true
s3_secret_access_key:
default: ""
secret: true
shadowed_by_global: true
2013-11-14 03:02:47 +08:00
s3_region:
default: "us-east-1"
enum: "S3RegionSiteSetting"
shadowed_by_global: true
s3_upload_bucket:
default: ""
regex: '^[a-z0-9\-\/]+$' # can't use '.' when using HTTPS
s3_endpoint:
default: ""
regex: '^https?:\/\/.+[^\/]$'
shadowed_by_global: true
s3_cdn_url:
default: ""
regex: '^https?:\/\/.+[^\/]$'
s3_force_path_style:
default: false
shadowed_by_global: true
s3_configure_tombstone_policy:
default: true
shadowed_by_global: true
allow_profile_backgrounds:
client: true
default: true
automatically_download_gravatars: true
2013-11-14 03:02:47 +08:00
allow_uploaded_avatars:
client: true
2013-11-14 03:02:47 +08:00
default: true
allow_animated_avatars:
client: true
2013-11-14 03:02:47 +08:00
default: false
allow_animated_thumbnails: true
2015-03-03 01:12:19 +08:00
default_avatars:
default: ""
2015-03-03 01:12:19 +08:00
type: url_list
client: true
avatar_sizes:
default: "20|25|32|45|60|120"
type: list
list_type: compact
external_system_avatars_enabled:
default: true
client: true
shadowed_by_global: true
external_system_avatars_url:
default: "/letter_avatar_proxy/v3/letter/{first_letter}/{color}/{size}.png"
client: true
regex: '^((https?:)?\/)?\/.+[^\/]'
shadowed_by_global: true
2018-07-18 18:57:43 +08:00
selectable_avatars_enabled:
default: false
client: true
selectable_avatars:
default: ""
2018-07-18 18:57:43 +08:00
type: uploaded_image_list
allow_all_attachments_for_group_messages: false
png_to_jpg_quality:
default: 95
min: 1
max: 100
allow_staff_to_upload_any_file_in_pm:
default: true
client: true
strip_image_metadata: true
min_ratio_to_crop:
type: float
default: 0.45 # 90% of 18:9
min: 0
max: 1
simultaneous_uploads:
client: true
default: 5
min: 0
max: 20
2013-11-14 03:02:47 +08:00
trust:
default_trust_level:
default: 0
enum: "TrustLevelSetting"
default_invitee_trust_level:
default: 1
enum: "TrustLevelSetting"
min_trust_to_create_topic:
default: 0
enum: "TrustLevelSetting"
2014-05-13 20:53:11 +08:00
min_trust_to_edit_wiki_post:
default: 1
enum: "TrustLevelSetting"
min_trust_to_edit_post:
default: 0
enum: "TrustLevelSetting"
min_trust_to_allow_self_wiki:
default: 3
enum: "TrustLevelSetting"
min_trust_to_send_messages:
default: 1
enum: "TrustLevelSetting"
min_trust_to_send_email_messages:
hidden: true
default: 4
enum: "TrustLevelSetting"
min_trust_to_flag_posts:
default: 1
enum: "TrustLevelSetting"
min_trust_to_post_links:
default: 0
enum: "TrustLevelSetting"
min_trust_to_post_images:
default: 0
enum: "TrustLevelSetting"
allow_flagging_staff: true
send_tl1_welcome_message: true
tl1_requires_topics_entered: 5
tl1_requires_read_posts:
default: 30
client: true
tl1_requires_time_spent_mins: 10
tl2_requires_topics_entered: 20
tl2_requires_read_posts: 100
tl2_requires_time_spent_mins: 60
tl2_requires_days_visited:
default: 15
tl2_requires_likes_received: 1
tl2_requires_likes_given: 1
tl2_requires_topic_reply_count: 3
tl3_time_period:
default: 100
min: 1
max: 1000000
tl3_requires_days_visited:
default: 50
tl3_requires_topics_replied_to:
default: 10
tl3_requires_topics_viewed:
default: 25
max: 100
tl3_requires_topics_viewed_cap:
default: 500
tl3_requires_posts_read:
default: 25
max: 100
tl3_requires_posts_read_cap:
default: 20000
max: 99000
tl3_requires_topics_viewed_all_time:
default: 200
tl3_requires_posts_read_all_time:
default: 500
tl3_requires_max_flagged:
default: 5
tl3_promotion_min_duration:
default: 14
max: 10000
tl3_requires_likes_given:
default: 30
tl3_requires_likes_received:
default: 20
tl3_links_no_follow:
default: false
client: true
trusted_users_can_edit_others:
default: true
2013-11-14 03:02:47 +08:00
2013-11-15 04:05:48 +08:00
security:
force_https:
default: false
shadowed_by_global: true
same_site_cookies:
default: Lax
type: enum
choices:
- Lax
- Strict
- Disabled
regex: "^(Lax|Strict|Disabled)$"
enable_escaped_fragments: true
2013-11-15 04:05:48 +08:00
allow_index_in_robots_txt: true
allow_moderators_to_create_categories: false
non_crawler_user_agents:
hidden: true
default: "trident|webkit|gecko|chrome|safari|msie|opera|goanna"
type: list
list_type: compact
crawler_user_agents:
hidden: true
default: "rss|bot|spider|crawler|facebook|archive|wayback|ping|monitor"
type: list
list_type: compact
crawler_check_bypass_agents:
hidden: true
default: "cubot"
cors_origins:
default: ""
type: list
use_admin_ip_whitelist:
default: false
client: true
blacklist_ip_blocks:
default: ""
type: list
list_type: compact
shadowed_by_global: true
whitelist_internal_hosts:
default: ""
type: list
allowed_iframes:
default: "https://www.google.com/maps/embed?|https://www.openstreetmap.org/export/embed.html?|https://calendar.google.com/calendar/embed?|https://codepen.io/"
type: list
client: true
whitelisted_crawler_user_agents:
type: list
default: ""
list_type: compact
blacklisted_crawler_user_agents:
type: list
default: "mauibot|semrushbot|ahrefsbot"
list_type: compact
slow_down_crawler_user_agents:
type: list
default: "bingbot"
list_type: compact
slow_down_crawler_rate: 60
content_security_policy:
default: false
content_security_policy_report_only:
default: false
content_security_policy_collect_reports:
default: false
content_security_policy_script_src:
type: list
default: ""
invalidate_inactive_admin_email_after_days:
default: 365
min: 0
max: 2000
2013-11-15 04:05:48 +08:00
onebox:
enable_flash_video_onebox: false
post_onebox_maxlength:
default: 500
locale_default:
2018-09-11 17:58:22 +08:00
ja: 200
zh_CN: 200
zh_TW: 200
onebox_domains_blacklist:
default: ""
type: list
list_type: compact
max_oneboxes_per_post:
default: 50
client: true
inline_onebox_domains_whitelist:
default: ""
type: list
list_type: compact
enable_inline_onebox_on_all_domains:
default: false
2013-11-14 03:02:47 +08:00
spam:
add_rel_nofollow_to_user_content: true
2013-11-14 03:02:47 +08:00
flags_required_to_hide_post: 3
cooldown_minutes_after_hiding_posts: 10
2017-11-11 01:18:08 +08:00
num_spam_flags_to_silence_new_user: 3
num_users_to_silence_new_user: 3
num_tl3_flags_to_silence_new_user: 4
num_tl3_users_to_silence_new_user: 2
notify_mods_when_user_silenced: false
flag_sockpuppets: false
2013-11-14 03:02:47 +08:00
newuser_spam_host_threshold: 3
2014-03-30 13:32:33 +08:00
white_listed_spam_host_domains:
default: ""
type: list
levenshtein_distance_spammer_emails:
default: 2
max: 3
max_new_accounts_per_registration_ip: 3
min_ban_entries_for_roll_up: 5
max_age_unmatched_emails: 365
max_age_unmatched_ips: 365
num_flaggers_to_close_topic: 5
num_flags_to_close_topic: 12
num_hours_to_close_topic:
default: 4
min: 1
auto_respond_to_flag_actions: true
min_first_post_typing_time: 3000
2017-11-11 01:18:08 +08:00
auto_silence_fast_typers_on_first_post: true
auto_silence_fast_typers_max_trust_level: 0
auto_silence_first_post_regex: ""
flags_default_topics:
default: false
client: true
min_flags_staff_visibility: 1
2013-11-14 03:02:47 +08:00
rate_limits:
unique_posts_mins: 5
2014-07-14 15:03:00 +08:00
rate_limit_create_topic: 15
rate_limit_create_post: 5
rate_limit_new_user_create_topic: 120
rate_limit_new_user_create_post: 30
max_topics_per_day: 20
max_personal_messages_per_day: 20
max_likes_per_day: 50
max_bookmarks_per_day: 20
max_flags_per_day: 20
max_edits_per_day: 30
max_invites_per_day: 10
2015-05-13 15:04:05 +08:00
max_topic_invitations_per_day: 30
max_topics_in_first_day: 3
max_replies_in_first_day: 10
tl2_additional_likes_per_day_multiplier: 1.5
tl3_additional_likes_per_day_multiplier: 2
tl4_additional_likes_per_day_multiplier: 3
alert_admins_if_errors_per_minute:
client: true
shadowed_by_global: true
default: 0
alert_admins_if_errors_per_hour:
client: true
shadowed_by_global: true
default: 0
2016-08-05 13:12:35 +08:00
max_prints_per_hour_per_user:
2016-08-09 11:53:08 +08:00
default: 5
2016-08-05 13:12:35 +08:00
client: true
max_logins_per_ip_per_hour:
min: 1
default: 30
max_logins_per_ip_per_minute:
min: 1
default: 6
max_post_deletions_per_minute:
min: 1
2018-09-01 04:27:25 +08:00
default: 2
max_post_deletions_per_day:
min: 1
2018-09-01 04:27:25 +08:00
default: 10
2013-11-14 03:02:47 +08:00
developer:
force_hostname:
hidden: true
default: ""
port:
hidden: true
default: ""
queue_jobs:
hidden: true
default: true
enable_long_polling:
client: true
default: true
long_polling_interval:
default: 25000
max: 25000
long_polling_base_url:
client: true
default: "/"
background_polling_interval:
client: true
default: 60000
max: 99000
polling_interval:
client: true
default: 3000
max: 99000
anon_polling_interval:
client: true
default: 15000
max: 99000
flush_timings_secs:
client: true
default: 20
active_user_rate_limit_secs: 60
2014-08-27 12:12:11 +08:00
verbose_localization:
default: false
client: true
top_topics_formula_log_views_multiplier:
default: 2
top_topics_formula_first_post_likes_multiplier:
default: 0.5
top_topics_formula_least_likes_per_post_multiplier:
default: 3
rebake_old_posts_count:
default: 80
min: 1
migrate_to_new_scheme:
hidden: true
default: false
max_new_topics:
default: 500
client: true
hidden: true
wizard_enabled:
2016-09-15 05:08:34 +08:00
default: true
hidden: true
bypass_wizard_check:
default: false
hidden: true
logging_provider:
hidden: true
default: "default"
type: "list"
choices:
- "default"
- "lograge"
bootstrap_error_pages:
hidden: true
default: false
enable_safe_mode:
default: true
client: true
2013-11-14 03:02:47 +08:00
embedding:
feed_polling_enabled:
default: false
hidden: true
feed_polling_url:
default: ""
hidden: true
feed_polling_frequency_mins:
min: 5
max: 180
default: 60
hidden: true
2014-06-12 02:42:41 +08:00
embed_by_username:
default: ""
type: username
hidden: true
embed_username_key_from_feed:
default: ""
hidden: true
embed_post_limit:
default: 100
hidden: true
embed_title_scrubber:
default: ""
hidden: true
embed_whitelist_selector:
default: ""
hidden: true
embed_blacklist_selector:
default: ""
hidden: true
embed_classname_whitelist:
default: "emoji"
hidden: true
legal:
2013-11-14 03:02:47 +08:00
tos_url:
client: true
default: ""
privacy_policy_url:
2013-11-14 03:02:47 +08:00
client: true
default: ""
faq_url:
client: true
default: ""
log_anonymizer_details:
default: true
backups:
enable_backups:
default: true
shadowed_by_global: true
client: true
readonly_mode_during_backup:
default: false
allow_restore:
default: false
shadowed_by_global: true
backup_location:
default: "local"
type: enum
enum: "BackupLocationSiteSetting"
shadowed_by_global: true
client: true
maximum_backups:
client: true
default: 5
shadowed_by_global: true
automatic_backups_enabled:
default: true
shadowed_by_global: true
backup_frequency:
min: 1
max: 30
default: 7
shadowed_by_global: true
s3_backup_bucket:
default: ""
regex: '^[a-z0-9\-\/]+$' # can't use '.' when using HTTPS
shadowed_by_global: true
s3_disable_cleanup:
default: false
backup_time_of_day:
default: "3:30"
regex: "^((0?(0|1|2|3|4|5|6|7|8|9)|(10|11|12|13|14|15|16|17|18|19|20|21|22|23))):\\d\\d$"
backup_with_uploads: true
search:
min_search_term_length:
client: true
default: 3
locale_default:
zh_CN: 2
zh_TW: 2
2018-05-28 07:37:57 +08:00
ko: 2
ja: 2
search_tokenize_chinese_japanese_korean: false
search_prefer_recent_posts: false
search_recent_posts_size:
default: 100000
max: 100000
log_search_queries:
client: true
default: true
search_query_log_max_size:
default: 1000000
max: 1000000
search_query_log_max_retention_days:
default: 365 # 1 year
max: 1825 # 5 years
search_ignore_accents:
default: false
locale_default:
ar: true
ca: true
cs: true
el: true
es: true
fa_IR: true
fr: true
hu: true
pt: true
pt_BR: true
ro: true
sk: true
tr_TR: true
uncategorized:
version_checks:
client: true
default: true
shadowed_by_global: true
new_version_emails: true
send_welcome_message: true
2013-11-15 04:05:48 +08:00
suppress_uncategorized_badge:
client: true
default: true
header_dropdown_category_count:
client: true
default: 8
2015-04-13 22:50:41 +08:00
slug_generation_method:
default: "ascii"
enum: "SlugSetting"
locale_default:
ja: "none"
zh_CN: "none"
zh_TW: "none"
2015-04-13 22:50:41 +08:00
permalink_normalizations:
default: ""
type: list
max_similar_results: 5
minimum_topics_similar: 50
2013-11-14 03:02:47 +08:00
previous_visit_timeout_hours: 1
staff_like_weight: 3
topic_view_duration_hours: 8
2015-09-14 15:51:17 +08:00
user_profile_view_duration_hours: 8
# Summary mode
2013-11-19 01:48:26 +08:00
summary_score_threshold: 15
summary_posts_required: 50
summary_likes_required: 1
summary_percent_filter: 20
summary_max_results: 100
# View heat thresholds
topic_views_heat_low:
client: true
default: 1000
topic_views_heat_medium:
client: true
default: 2000
topic_views_heat_high:
client: true
default: 5000
# Post/Like heat thresholds
topic_post_like_heat_low:
client: true
default: 0.5
topic_post_like_heat_medium:
client: true
default: 1.0
topic_post_like_heat_high:
client: true
default: 2.0
# History edit heat thresholds
history_hours_low:
client: true
default: 12
history_hours_medium:
client: true
default: 24
history_hours_high:
client: true
default: 48
# Cold map thresholds
cold_age_days_low:
default: 14
client: true
cold_age_days_medium:
default: 90
client: true
cold_age_days_high:
default: 180
client: true
# Warnings
educate_until_posts: 2
sequential_replies_threshold: 2
2017-02-05 04:04:15 +08:00
get_a_room_threshold: 3
dominating_topic_minimum_percent: 20
disable_avatar_education_message: false
global_notice:
default: ""
client: true
has_login_hint:
default: false
hidden: true
# Nothing past this threshold is ever considered new
# this is calculated dynamically every 15 minutes
min_new_topics_time:
default: 0
hidden: true
# Category IDs
lounge_category_id:
default: -1
hidden: true
meta_category_id:
default: -1
hidden: true
staff_category_id:
default: -1
hidden: true
uncategorized_category_id:
default: -1
hidden: true
2013-11-14 03:02:47 +08:00
notify_about_flags_after: 48
show_create_topics_notice:
client: true
default: true
enable_system_avatars:
hidden: true
default: true
disable_edit_notifications: false
likes_notification_consolidation_threshold:
default: 3
min: 0
likes_notification_consolidation_window_mins:
default: 120
min: 1
delete_drafts_older_than_n_days:
default: 180
tos_topic_id:
default: -1
hidden: true
guidelines_topic_id:
default: -1
hidden: true
privacy_topic_id:
default: -1
hidden: true
bootstrap_mode_min_users:
default: 50
client: true
max: 5000
bootstrap_mode_enabled:
default: false
client: true
hidden: true
automatically_unpin_topics:
default: true
client: true
read_time_word_count:
default: 500
client: true
locale_default:
2018-09-11 17:58:22 +08:00
ja: 350
zh_CN: 350
zh_TW: 350
topic_page_title_includes_category:
default: true
client: true
native_app_install_banner: false
pwa_display_browser_regex:
default: "iPad|iPhone"
hidden: true
2017-03-10 21:16:00 +08:00
share_anonymized_statistics: true
auto_handle_queued_age:
default: 60
min: 0
Upgrade to FontAwesome 5 (take two) (#6673) * Add missing icons to set * Revert FA5 revert This reverts commit 42572ff * use new SVG syntax in locales * Noscript page changes (remove login button, center "powered by" footer text) * Cast wider net for SVG icons in settings - include any _icon setting for SVG registry (offers better support for plugin settings) - let themes store multiple pipe-delimited icons in a setting - also replaces broken onebox image icon with SVG reference in cooked post processor * interpolate icons in locales * Fix composer whisper icon alignment * Add support for stacked icons * SECURITY: enforce hostname to match discourse hostname This ensures that the hostname rails uses for various helpers always matches the Discourse hostname * load SVG sprite with pre-initializers * FIX: enable caching on SVG sprites * PERF: use JSONP for SVG sprites so they are served from CDN This avoids needing to deal with CORS for loading of the SVG Note, added the svg- prefix to the filename so we can quickly tell in dev tools what the file is * Add missing SVG sprite JSONP script to CSP * Upgrade to FA 5.5.0 * Add support for all FA4.7 icons - adds complete frontend and backend for renamed FA4.7 icons - improves performance of SvgSprite.bundle and SvgSprite.all_icons * Fix group avatar flair preview - adds an endpoint at /svg-sprites/search/:keyword - adds frontend ajax call that pulls icon in avatar flair preview even when it is not in subset * Remove FA 4.7 font files
2018-11-27 05:49:57 +08:00
svg_icon_subset:
default: ""
type: "list"
list_type: "compact"
Upgrade to FontAwesome 5 (take two) (#6673) * Add missing icons to set * Revert FA5 revert This reverts commit 42572ff * use new SVG syntax in locales * Noscript page changes (remove login button, center "powered by" footer text) * Cast wider net for SVG icons in settings - include any _icon setting for SVG registry (offers better support for plugin settings) - let themes store multiple pipe-delimited icons in a setting - also replaces broken onebox image icon with SVG reference in cooked post processor * interpolate icons in locales * Fix composer whisper icon alignment * Add support for stacked icons * SECURITY: enforce hostname to match discourse hostname This ensures that the hostname rails uses for various helpers always matches the Discourse hostname * load SVG sprite with pre-initializers * FIX: enable caching on SVG sprites * PERF: use JSONP for SVG sprites so they are served from CDN This avoids needing to deal with CORS for loading of the SVG Note, added the svg- prefix to the filename so we can quickly tell in dev tools what the file is * Add missing SVG sprite JSONP script to CSP * Upgrade to FA 5.5.0 * Add support for all FA4.7 icons - adds complete frontend and backend for renamed FA4.7 icons - improves performance of SvgSprite.bundle and SvgSprite.all_icons * Fix group avatar flair preview - adds an endpoint at /svg-sprites/search/:keyword - adds frontend ajax call that pulls icon in avatar flair preview even when it is not in subset * Remove FA 4.7 font files
2018-11-27 05:49:57 +08:00
client: true
user_preferences:
default_email_digest_frequency:
enum: "DigestEmailSiteSetting"
default: 10080
default_include_tl0_in_digests: false
default_email_personal_messages: true
default_email_direct: true
default_email_mailing_list_mode: false
default_email_mailing_list_mode_frequency:
enum: "MailingListModeSiteSetting"
default: 1
disable_mailing_list_mode:
default: false
client: true
default_email_always: false
default_email_previous_replies:
enum: "PreviousRepliesSiteSetting"
default: 2
default_email_in_reply_to:
default: true
default_other_new_topic_duration_minutes:
enum: "NewTopicDurationSiteSetting"
default: 2880
default_other_auto_track_topics_after_msecs:
enum: "AutoTrackDurationSiteSetting"
default: 240000
default_other_notification_level_when_replying:
enum: "NotificationLevelWhenReplyingSiteSetting"
default: 2
default_other_external_links_in_new_tab: false
default_other_enable_quoting: true
default_other_dynamic_favicon: false
default_other_disable_jump_reply: false
default_other_like_notification_frequency:
enum: "LikeNotificationFrequencySiteSetting"
default: 1
default_topics_automatic_unpin:
default: true
client: true
default_categories_watching:
type: category_list
default: ""
default_categories_tracking:
type: category_list
default: ""
default_categories_muted:
type: category_list
default: ""
default_categories_watching_first_post:
type: category_list
default: ""
default_text_size:
type: enum
default: normal
choices:
- smaller
- normal
- larger
- largest
api:
retain_web_hook_events_period_days:
default: 30
retry_web_hook_events:
default: false
user_api:
allow_user_api_keys:
default: true
allow_user_api_key_scopes:
default: "read|write|message_bus|push|notifications|session_info"
type: list
max_api_keys_per_user:
default: 10
push_api_secret_key:
default: ""
hidden: true
min_trust_level_for_user_api_key:
default: 0
enum: "TrustLevelSetting"
allowed_user_api_push_urls:
default: ""
type: list
shadowed_by_global: true
allowed_user_api_auth_redirects:
default: "https://api.discourse.org/api/auth_redirect|discourse://auth_redirect"
type: list
expire_user_api_keys_days:
default: 180
tags:
tagging_enabled:
client: true
default: false
refresh: true
tag_style:
client: true
type: enum
default: "simple"
choices:
- simple
- bullet
- box
preview: '<div class="discourse-tags"><span class="discourse-tag {{value}}">tag1</span><span class="discourse-tag {{value}}">tag2</span></div>'
max_tags_per_topic:
default: 5
client: true
max_tag_length:
default: 20
client: true
min_trust_to_create_tag:
default: "3"
enum: "TrustLevelAndStaffSetting"
min_trust_level_to_tag_topics:
default: "0"
enum: "TrustLevelAndStaffSetting"
client: true
max_tag_search_results:
client: true
default: 5
min: 1
show_filter_by_tag:
client: true
default: false
refresh: true
max_tags_in_filter_list:
default: 30
min: 1
refresh: true
tags_sort_alphabetically:
client: true
default: false
refresh: true
tags_listed_by_group:
client: true
default: false
allow_staff_to_tag_pms:
2018-02-14 04:46:25 +08:00
default: false
suppress_overlapping_tags_in_list:
default: false
client: true
remove_muted_tags_from_latest:
default: false
force_lowercase_tags:
2018-10-19 22:43:31 +08:00
default: true
client: true
dashboard:
dashboard_general_tab_activity_metrics:
client: true
type: list
list_type: compact
default: "page_view_total_reqs|visits|time_to_first_response|likes|flags|user_to_user_private_messages_with_replies"
allow_any: false
choices:
- page_view_total_reqs
- visits
- time_to_first_response
- likes
- flags
- user_to_user_private_messages_with_replies
- signups