@@ -24,6 +24,7 @@ module Admin | |||||
peers_api_enabled | peers_api_enabled | ||||
show_known_fediverse_at_about_page | show_known_fediverse_at_about_page | ||||
preview_sensitive_media | preview_sensitive_media | ||||
custom_css | |||||
).freeze | ).freeze | ||||
BOOLEAN_SETTINGS = %w( | BOOLEAN_SETTINGS = %w( | ||||
@@ -0,0 +1,10 @@ | |||||
# frozen_string_literal: true | |||||
class CustomCssController < ApplicationController | |||||
before_action :set_cache_headers | |||||
def show | |||||
skip_session! | |||||
render plain: Setting.custom_css || '', content_type: 'text/css' | |||||
end | |||||
end |
@@ -621,3 +621,14 @@ code { | |||||
.scope-danger { | .scope-danger { | ||||
color: $warning-red; | color: $warning-red; | ||||
} | } | ||||
.form_admin_settings_site_short_description, | |||||
.form_admin_settings_site_description, | |||||
.form_admin_settings_site_extended_description, | |||||
.form_admin_settings_site_terms, | |||||
.form_admin_settings_custom_css, | |||||
.form_admin_settings_closed_registrations_message { | |||||
textarea { | |||||
font-family: 'mastodon-font-monospace', monospace; | |||||
} | |||||
} |
@@ -42,6 +42,8 @@ class Form::AdminSettings | |||||
:show_known_fediverse_at_about_page=, | :show_known_fediverse_at_about_page=, | ||||
:preview_sensitive_media, | :preview_sensitive_media, | ||||
:preview_sensitive_media=, | :preview_sensitive_media=, | ||||
:custom_css, | |||||
:custom_css=, | |||||
to: Setting | to: Setting | ||||
) | ) | ||||
end | end |
@@ -14,7 +14,7 @@ class InstancePresenter | |||||
) | ) | ||||
def contact_account | def contact_account | ||||
Account.find_local(Setting.site_contact_username) | |||||
Account.find_local(Setting.site_contact_username.gsub(/\A@/, '')) | |||||
end | end | ||||
def user_count | def user_count | ||||
@@ -49,7 +49,7 @@ | |||||
.fields-group | .fields-group | ||||
= f.input :site_extended_description, wrapper: :with_block_label, as: :text, label: t('admin.settings.site_description_extended.title'), hint: t('admin.settings.site_description_extended.desc_html'), input_html: { rows: 8 } | = f.input :site_extended_description, wrapper: :with_block_label, as: :text, label: t('admin.settings.site_description_extended.title'), hint: t('admin.settings.site_description_extended.desc_html'), input_html: { rows: 8 } | ||||
= f.input :site_terms, wrapper: :with_block_label, as: :text, label: t('admin.settings.site_terms.title'), hint: t('admin.settings.site_terms.desc_html'), input_html: { rows: 8 } | = f.input :site_terms, wrapper: :with_block_label, as: :text, label: t('admin.settings.site_terms.title'), hint: t('admin.settings.site_terms.desc_html'), input_html: { rows: 8 } | ||||
= f.input :custom_css, wrapper: :with_block_label, as: :text, input_html: { rows: 8 }, label: t('admin.settings.custom_css.title'), hint: t('admin.settings.custom_css.desc_html') | |||||
%hr/ | %hr/ | ||||
.fields-group | .fields-group | ||||
@@ -19,6 +19,9 @@ | |||||
= javascript_pack_tag "locale_#{I18n.locale}", integrity: true, crossorigin: 'anonymous' | = javascript_pack_tag "locale_#{I18n.locale}", integrity: true, crossorigin: 'anonymous' | ||||
= csrf_meta_tags | = csrf_meta_tags | ||||
- if Setting.custom_css.present? | |||||
= stylesheet_link_tag custom_css_path, media: 'all' | |||||
= yield :header_tags | = yield :header_tags | ||||
- body_classes ||= @body_classes || '' | - body_classes ||= @body_classes || '' | ||||
@@ -23,6 +23,7 @@ Rails.application.routes.draw do | |||||
get '.well-known/webfinger', to: 'well_known/webfinger#show', as: :webfinger | get '.well-known/webfinger', to: 'well_known/webfinger#show', as: :webfinger | ||||
get 'manifest', to: 'manifests#show', defaults: { format: 'json' } | get 'manifest', to: 'manifests#show', defaults: { format: 'json' } | ||||
get 'intent', to: 'intents#show' | get 'intent', to: 'intents#show' | ||||
get 'custom.css', to: 'custom_css#show', as: :custom_css | |||||
devise_scope :user do | devise_scope :user do | ||||
get '/invite/:invite_code', to: 'auth/registrations#new', as: :public_invite | get '/invite/:invite_code', to: 'auth/registrations#new', as: :public_invite | ||||