about summary refs log tree commit diff
diff options
context:
space:
mode:
authorEugen Rochko <eugen@zeonfederated.com>2018-07-31 18:59:34 +0200
committerGitHub <noreply@github.com>2018-07-31 18:59:34 +0200
commitcc56f2230a10c4fded80a34e5297fad8d9891e02 (patch)
treeb1bb13c698c8aeffc946da8a1f1025983ba58398
parent9ae53ad59ee18459775d19c4699c771c7f86fa7c (diff)
Add separate setting for sidebar text (site_short_description) (#8107)
* Add separate setting for sidebar text (site_short_description)

* Fix tests
-rw-r--r--app/controllers/admin/settings_controller.rb1
-rw-r--r--app/models/form/admin_settings.rb2
-rw-r--r--app/presenters/instance_presenter.rb1
-rw-r--r--app/views/admin/settings/edit.html.haml3
-rw-r--r--app/views/application/_sidebar.html.haml2
-rw-r--r--app/views/shared/_og.html.haml2
-rw-r--r--config/locales/en.yml5
-rw-r--r--config/settings.yml1
-rw-r--r--spec/views/about/show.html.haml_spec.rb1
9 files changed, 14 insertions, 4 deletions
diff --git a/app/controllers/admin/settings_controller.rb b/app/controllers/admin/settings_controller.rb
index 75d00326c..3234b194f 100644
--- a/app/controllers/admin/settings_controller.rb
+++ b/app/controllers/admin/settings_controller.rb
@@ -6,6 +6,7 @@ module Admin
       site_contact_username
       site_contact_email
       site_title
+      site_short_description
       site_description
       site_extended_description
       site_terms
diff --git a/app/models/form/admin_settings.rb b/app/models/form/admin_settings.rb
index 723480bdd..010cf7fc3 100644
--- a/app/models/form/admin_settings.rb
+++ b/app/models/form/admin_settings.rb
@@ -10,6 +10,8 @@ class Form::AdminSettings
     :site_contact_email=,
     :site_title,
     :site_title=,
+    :site_short_description,
+    :site_short_description=,
     :site_description,
     :site_description=,
     :site_extended_description,
diff --git a/app/presenters/instance_presenter.rb b/app/presenters/instance_presenter.rb
index e4972c962..31365b646 100644
--- a/app/presenters/instance_presenter.rb
+++ b/app/presenters/instance_presenter.rb
@@ -6,6 +6,7 @@ class InstancePresenter
     :site_contact_email,
     :open_registrations,
     :site_title,
+    :site_short_description,
     :site_description,
     :site_extended_description,
     :site_terms,
diff --git a/app/views/admin/settings/edit.html.haml b/app/views/admin/settings/edit.html.haml
index f5c5deca8..fda6b00f4 100644
--- a/app/views/admin/settings/edit.html.haml
+++ b/app/views/admin/settings/edit.html.haml
@@ -7,7 +7,8 @@
 
   .fields-group
     = f.input :site_title, placeholder: t('admin.settings.site_title')
-    = f.input :site_description, wrapper: :with_block_label, as: :text, label: t('admin.settings.site_description.title'), hint: t('admin.settings.site_description.desc_html'), input_html: { rows: 8 }
+    = f.input :site_short_description, wrapper: :with_block_label, as: :text, label: t('admin.settings.site_short_description.title'), hint: t('admin.settings.site_short_description.desc_html'), input_html: { rows: 2 }
+    = f.input :site_description, wrapper: :with_block_label, as: :text, label: t('admin.settings.site_description.title'), hint: t('admin.settings.site_description.desc_html'), input_html: { rows: 4 }
     = f.input :site_contact_username, placeholder: t('admin.settings.contact_information.username')
     = f.input :site_contact_email, placeholder: t('admin.settings.contact_information.email')
 
diff --git a/app/views/application/_sidebar.html.haml b/app/views/application/_sidebar.html.haml
index 3d8832bb4..2ff14b252 100644
--- a/app/views/application/_sidebar.html.haml
+++ b/app/views/application/_sidebar.html.haml
@@ -3,4 +3,4 @@
     = image_tag @instance_presenter.hero&.file&.url || @instance_presenter.thumbnail&.file&.url || asset_pack_path('preview.jpg'), alt: @instance_presenter.site_title
 
   .hero-widget__text
-    %p= @instance_presenter.site_description.html_safe.presence || t('about.generic_description', domain: site_hostname)
+    %p= @instance_presenter.site_short_description.html_safe.presence || @instance_presenter.site_description.html_safe.presence || t('about.generic_description', domain: site_hostname)
diff --git a/app/views/shared/_og.html.haml b/app/views/shared/_og.html.haml
index a6d805bea..76db511cd 100644
--- a/app/views/shared/_og.html.haml
+++ b/app/views/shared/_og.html.haml
@@ -3,7 +3,7 @@
 = opengraph 'og:url', url_for(only_path: false)
 = opengraph 'og:type', 'website'
 = opengraph 'og:title', @instance_presenter.site_title
-= opengraph 'og:description', strip_tags(@instance_presenter.site_description.presence || t('about.about_mastodon_html'))
+= opengraph 'og:description', strip_tags(@instance_presenter.site_short_description.presence || @instance_presenter.site_description.presence || t('about.about_mastodon_html'))
 = opengraph 'og:image', full_asset_url(thumbnail&.file&.url || asset_pack_path('preview.jpg', protocol: :request))
 = opengraph 'og:image:width', thumbnail ? thumbnail.meta['width'] : '1200'
 = opengraph 'og:image:height', thumbnail ? thumbnail.meta['height'] : '630'
diff --git a/config/locales/en.yml b/config/locales/en.yml
index 66f475ded..4693fe1ba 100644
--- a/config/locales/en.yml
+++ b/config/locales/en.yml
@@ -372,11 +372,14 @@ en:
         desc_html: Show a staff badge on a user page
         title: Show staff badge
       site_description:
-        desc_html: Introductory paragraph on the frontpage and in meta tags. You can use HTML tags, in particular <code>&lt;a&gt;</code> and <code>&lt;em&gt;</code>.
+        desc_html: Introductory paragraph on the frontpage. Describe what makes this Mastodon server special and anything else important. You can use HTML tags, in particular <code>&lt;a&gt;</code> and <code>&lt;em&gt;</code>.
         title: Instance description
       site_description_extended:
         desc_html: A good place for your code of conduct, rules, guidelines and other things that set your instance apart. You can use HTML tags
         title: Custom extended information
+      site_short_description:
+        desc_html: Displayed in sidebar and meta tags. Describe what Mastodon is and what makes this server special in a single paragraph. If empty, defaults to instance description.
+        title: Short instance description
       site_terms:
         desc_html: You can write your own privacy policy, terms of service or other legalese. You can use HTML tags
         title: Custom terms of service
diff --git a/config/settings.yml b/config/settings.yml
index 190f6afcd..399f25a9a 100644
--- a/config/settings.yml
+++ b/config/settings.yml
@@ -8,6 +8,7 @@
 #
 defaults: &defaults
   site_title: Mastodon
+  site_short_description: ''
   site_description: ''
   site_extended_description: ''
   site_terms: ''
diff --git a/spec/views/about/show.html.haml_spec.rb b/spec/views/about/show.html.haml_spec.rb
index cbe5aa93b..12efc06fd 100644
--- a/spec/views/about/show.html.haml_spec.rb
+++ b/spec/views/about/show.html.haml_spec.rb
@@ -11,6 +11,7 @@ describe 'about/show.html.haml', without_verify_partial_doubles: true do
   it 'has valid open graph tags' do
     instance_presenter = double(:instance_presenter,
                                 site_title: 'something',
+                                site_short_description: 'something',
                                 site_description: 'something',
                                 version_number: '1.0',
                                 source_url: 'https://github.com/tootsuite/mastodon',