Browse Source

Instance helper to replace site title helper (#2038)

* Move site title helper to instance helper (name change only)

* Remove newline in <title> tag

* Add site_hostname helper method to wrap up local_domain value

* Use site_hostname helper in places that need local_domain value
closed-social-glitch-2
Matt Jankowski 7 years ago
committed by Eugen
parent
commit
389f8f8249
19 changed files with 64 additions and 39 deletions
  1. +11
    -0
      app/helpers/instance_helper.rb
  2. +0
    -7
      app/helpers/site_title_helper.rb
  3. +1
    -0
      app/mailers/application_mailer.rb
  4. +2
    -0
      app/mailers/user_mailer.rb
  5. +2
    -2
      app/views/about/more.html.haml
  6. +3
    -3
      app/views/about/show.html.haml
  7. +1
    -1
      app/views/about/terms.en.html.haml
  8. +1
    -1
      app/views/about/terms.no.html.haml
  9. +2
    -2
      app/views/accounts/show.html.haml
  10. +1
    -1
      app/views/api/oembed/show.json.rabl
  11. +1
    -1
      app/views/api/v1/instances/show.rabl
  12. +1
    -1
      app/views/home/initial_state.json.rabl
  13. +1
    -1
      app/views/layouts/application.html.haml
  14. +1
    -1
      app/views/layouts/mailer.text.erb
  15. +1
    -1
      app/views/layouts/public.html.haml
  16. +1
    -1
      app/views/shared/_landing_strip.html.haml
  17. +1
    -1
      app/views/stream_entries/show.html.haml
  18. +33
    -0
      spec/helpers/instance_helper_spec.rb
  19. +0
    -15
      spec/helpers/site_title_helper_spec.rb

+ 11
- 0
app/helpers/instance_helper.rb View File

@ -0,0 +1,11 @@
# frozen_string_literal: true
module InstanceHelper
def site_title
Setting.site_title.to_s
end
def site_hostname
Rails.configuration.x.local_domain
end
end

+ 0
- 7
app/helpers/site_title_helper.rb View File

@ -1,7 +0,0 @@
# frozen_string_literal: true
module SiteTitleHelper
def site_title
Setting.site_title.to_s
end
end

+ 1
- 0
app/mailers/application_mailer.rb View File

@ -3,4 +3,5 @@
class ApplicationMailer < ActionMailer::Base class ApplicationMailer < ActionMailer::Base
default from: ENV.fetch('SMTP_FROM_ADDRESS') { 'notifications@localhost' } default from: ENV.fetch('SMTP_FROM_ADDRESS') { 'notifications@localhost' }
layout 'mailer' layout 'mailer'
helper :instance
end end

+ 2
- 0
app/mailers/user_mailer.rb View File

@ -4,6 +4,8 @@ class UserMailer < Devise::Mailer
default from: ENV.fetch('SMTP_FROM_ADDRESS') { 'notifications@localhost' } default from: ENV.fetch('SMTP_FROM_ADDRESS') { 'notifications@localhost' }
layout 'mailer' layout 'mailer'
helper :instance
def confirmation_instructions(user, token, _opts = {}) def confirmation_instructions(user, token, _opts = {})
@resource = user @resource = user
@token = token @token = token

+ 2
- 2
app/views/about/more.html.haml View File

@ -1,11 +1,11 @@
- content_for :page_title do - content_for :page_title do
#{Rails.configuration.x.local_domain}
= site_hostname
.wrapper.thicc .wrapper.thicc
.sidebar-layout .sidebar-layout
.main .main
.panel .panel
%h2= Rails.configuration.x.local_domain
%h2= site_hostname
- unless @instance_presenter.site_description.blank? - unless @instance_presenter.site_description.blank?
%p= @instance_presenter.site_description.html_safe %p= @instance_presenter.site_description.html_safe

+ 3
- 3
app/views/about/show.html.haml View File

@ -2,12 +2,12 @@
= javascript_include_tag 'application_public', integrity: true = javascript_include_tag 'application_public', integrity: true
- content_for :page_title do - content_for :page_title do
= Rails.configuration.x.local_domain
= site_hostname
- content_for :header_tags do - content_for :header_tags do
%meta{ property: 'og:site_name', content: site_title }/ %meta{ property: 'og:site_name', content: site_title }/
%meta{ property: 'og:type', content: 'website' }/ %meta{ property: 'og:type', content: 'website' }/
%meta{ property: 'og:title', content: Rails.configuration.x.local_domain }/
%meta{ property: 'og:title', content: site_hostname }/
%meta{ property: 'og:description', content: strip_tags(@instance_presenter.site_description.presence || t('about.about_mastodon')) }/ %meta{ property: 'og:description', content: strip_tags(@instance_presenter.site_description.presence || t('about.about_mastodon')) }/
%meta{ property: 'og:image', content: asset_url('mastodon_small.jpg') }/ %meta{ property: 'og:image', content: asset_url('mastodon_small.jpg') }/
%meta{ property: 'og:image:width', content: '400' }/ %meta{ property: 'og:image:width', content: '400' }/
@ -72,7 +72,7 @@
= t 'about.features.api' = t 'about.features.api'
- unless @instance_presenter.site_description.blank? - unless @instance_presenter.site_description.blank?
%h3= t('about.description_headline', domain: Rails.configuration.x.local_domain)
%h3= t('about.description_headline', domain: site_hostname)
%p= @instance_presenter.site_description.html_safe %p= @instance_presenter.site_description.html_safe
.actions .actions

+ 1
- 1
app/views/about/terms.en.html.haml View File

@ -1,5 +1,5 @@
- content_for :page_title do - content_for :page_title do
#{Rails.configuration.x.local_domain} Terms of Service and Privacy Policy
#{site_hostname} Terms of Service and Privacy Policy
.wrapper .wrapper
%h2 Privacy Policy %h2 Privacy Policy

+ 1
- 1
app/views/about/terms.no.html.haml View File

@ -1,5 +1,5 @@
- content_for :page_title do - content_for :page_title do
#{Rails.configuration.x.local_domain} Personvern og villkår for bruk av nettstedet
#{site_hostname} Personvern og villkår for bruk av nettstedet
.wrapper .wrapper
%h2 Personvernserklæring %h2 Personvernserklæring

+ 2
- 2
app/views/accounts/show.html.haml View File

@ -7,7 +7,7 @@
%meta{ property: 'og:site_name', content: site_title }/ %meta{ property: 'og:site_name', content: site_title }/
%meta{ property: 'og:type', content: 'profile' }/ %meta{ property: 'og:type', content: 'profile' }/
%meta{ property: 'og:title', content: "#{@account.username} on #{Rails.configuration.x.local_domain}" }/
%meta{ property: 'og:title', content: "#{@account.username} on #{site_hostname}" }/
%meta{ property: 'og:description', content: @account.note }/ %meta{ property: 'og:description', content: @account.note }/
%meta{ property: 'og:image', content: full_asset_url(@account.avatar.url(:original)) }/ %meta{ property: 'og:image', content: full_asset_url(@account.avatar.url(:original)) }/
%meta{ property: 'og:image:width', content: '120' }/ %meta{ property: 'og:image:width', content: '120' }/
@ -18,7 +18,7 @@
= render partial: 'shared/landing_strip', locals: { account: @account } = render partial: 'shared/landing_strip', locals: { account: @account }
.h-feed .h-feed
%data.p-name{ value: "#{@account.username} on #{Rails.configuration.x.local_domain}" }/
%data.p-name{ value: "#{@account.username} on #{site_hostname}" }/
= render 'header', account: @account = render 'header', account: @account

+ 1
- 1
app/views/api/oembed/show.json.rabl View File

@ -6,7 +6,7 @@ node(:version) { '1.0' }
node(:title, &:title) node(:title, &:title)
node(:author_name) { |entry| entry.account.display_name.blank? ? entry.account.username : entry.account.display_name } node(:author_name) { |entry| entry.account.display_name.blank? ? entry.account.username : entry.account.display_name }
node(:author_url) { |entry| account_url(entry.account) } node(:author_url) { |entry| account_url(entry.account) }
node(:provider_name) { Rails.configuration.x.local_domain }
node(:provider_name) { site_hostname }
node(:provider_url) { root_url } node(:provider_url) { root_url }
node(:cache_age) { 86_400 } node(:cache_age) { 86_400 }
node(:html) { |entry| "<iframe src=\"#{embed_account_stream_entry_url(entry.account, entry)}\" style=\"width: 100%; overflow: hidden\" frameborder=\"0\" width=\"#{@width}\" height=\"#{@height}\" scrolling=\"no\"></iframe>" } node(:html) { |entry| "<iframe src=\"#{embed_account_stream_entry_url(entry.account, entry)}\" style=\"width: 100%; overflow: hidden\" frameborder=\"0\" width=\"#{@width}\" height=\"#{@height}\" scrolling=\"no\"></iframe>" }

+ 1
- 1
app/views/api/v1/instances/show.rabl View File

@ -1,6 +1,6 @@
object false object false
node(:uri) { Rails.configuration.x.local_domain }
node(:uri) { site_hostname }
node(:title) { Setting.site_title } node(:title) { Setting.site_title }
node(:description) { Setting.site_description } node(:description) { Setting.site_description }
node(:email) { Setting.site_contact_email } node(:email) { Setting.site_contact_email }

+ 1
- 1
app/views/home/initial_state.json.rabl View File

@ -5,7 +5,7 @@ node(:meta) do
streaming_api_base_url: @streaming_api_base_url, streaming_api_base_url: @streaming_api_base_url,
access_token: @token, access_token: @token,
locale: I18n.locale, locale: I18n.locale,
domain: Rails.configuration.x.local_domain,
domain: site_hostname,
me: current_account.id, me: current_account.id,
admin: @admin.try(:id), admin: @admin.try(:id),
boost_modal: current_account.user.setting_boost_modal, boost_modal: current_account.user.setting_boost_modal,

+ 1
- 1
app/views/layouts/application.html.haml View File

@ -14,7 +14,7 @@
%title< %title<
- if content_for?(:page_title) - if content_for?(:page_title)
= yield(:page_title)
= yield(:page_title).strip
= ' - ' = ' - '
= site_title = site_title

+ 1
- 1
app/views/layouts/mailer.text.erb View File

@ -1,5 +1,5 @@
<%= yield %> <%= yield %>
--- ---
<%= t('application_mailer.signature', instance: Rails.configuration.x.local_domain) %>
<%= t('application_mailer.signature', instance: site_hostname) %>
<%= t('application_mailer.settings', link: settings_preferences_url) %> <%= t('application_mailer.settings', link: settings_preferences_url) %>

+ 1
- 1
app/views/layouts/public.html.haml View File

@ -4,7 +4,7 @@
- content_for :content do - content_for :content do
.container= yield .container= yield
.footer .footer
%span.domain= link_to Rails.configuration.x.local_domain, root_path
%span.domain= link_to site_hostname, root_path
%span.powered-by %span.powered-by
= t('generic.powered_by', link: link_to('Mastodon', 'https://github.com/tootsuite/mastodon')).html_safe = t('generic.powered_by', link: link_to('Mastodon', 'https://github.com/tootsuite/mastodon')).html_safe

+ 1
- 1
app/views/shared/_landing_strip.html.haml View File

@ -1,5 +1,5 @@
.landing-strip .landing-strip
= t('landing_strip_html', = t('landing_strip_html',
name: content_tag(:span, display_name(account), class: :emojify), name: content_tag(:span, display_name(account), class: :emojify),
domain: Rails.configuration.x.local_domain,
domain: site_hostname,
sign_up_path: new_user_registration_path) sign_up_path: new_user_registration_path)

+ 1
- 1
app/views/stream_entries/show.html.haml View File

@ -4,7 +4,7 @@
%meta{ property: 'og:site_name', content: site_title }/ %meta{ property: 'og:site_name', content: site_title }/
%meta{ property: 'og:type', content: 'article' }/ %meta{ property: 'og:type', content: 'article' }/
%meta{ property: 'og:title', content: "#{@account.username} on #{Rails.configuration.x.local_domain}" }/
%meta{ property: 'og:title', content: "#{@account.username} on #{site_hostname}" }/
= render 'stream_entries/og_description', activity: @stream_entry.activity = render 'stream_entries/og_description', activity: @stream_entry.activity
= render 'stream_entries/og_image', activity: @stream_entry.activity, account: @account = render 'stream_entries/og_image', activity: @stream_entry.activity, account: @account

+ 33
- 0
spec/helpers/instance_helper_spec.rb View File

@ -0,0 +1,33 @@
# frozen_string_literal: true
require 'rails_helper'
describe InstanceHelper do
describe 'site_title' do
it 'Uses the Setting.site_title value when it exists' do
Setting.site_title = 'New site title'
expect(helper.site_title).to eq 'New site title'
end
it 'returns empty string when Setting.site_title is nil' do
Setting.site_title = nil
expect(helper.site_title).to eq ''
end
end
describe 'site_hostname' do
around(:each) do |example|
before = Rails.configuration.x.local_domain
example.run
Rails.configuration.x.local_domain = before
end
it 'returns the local domain value' do
Rails.configuration.x.local_domain = 'example.com'
expect(helper.site_hostname).to eq 'example.com'
end
end
end

+ 0
- 15
spec/helpers/site_title_helper_spec.rb View File

@ -1,15 +0,0 @@
require "rails_helper"
describe "site_title" do
it "Uses the Setting.site_title value when it exists" do
Setting.site_title = "New site title"
expect(helper.site_title).to eq "New site title"
end
it "returns empty string when Setting.site_title is nil" do
Setting.site_title = nil
expect(helper.site_title).to eq ""
end
end

Loading…
Cancel
Save