diff options
Diffstat (limited to 'app')
-rw-r--r-- | app/helpers/application_helper.rb | 16 | ||||
-rw-r--r-- | app/javascript/core/settings.js | 2 | ||||
-rw-r--r-- | app/views/accounts/_og.html.haml | 6 | ||||
-rwxr-xr-x | app/views/layouts/application.html.haml | 7 | ||||
-rw-r--r-- | app/views/shared/_og.html.haml | 6 | ||||
-rw-r--r-- | app/views/stream_entries/_og_description.html.haml | 5 | ||||
-rw-r--r-- | app/workers/scheduler/pghero_scheduler.rb | 11 |
7 files changed, 49 insertions, 4 deletions
diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index c002017ef..e9b48fa98 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -82,4 +82,20 @@ module ApplicationHelper output << 'rtl' if locale_direction == 'rtl' output.reject(&:blank?).join(' ') end + + def cdn_host + ENV['CDN_HOST'].presence + end + + def cdn_host? + cdn_host.present? + end + + def storage_host + ENV['S3_ALIAS_HOST'].presence || ENV['S3_CLOUDFRONT_HOST'].presence + end + + def storage_host? + storage_host.present? + end end diff --git a/app/javascript/core/settings.js b/app/javascript/core/settings.js index 377c899dc..af97c84f9 100644 --- a/app/javascript/core/settings.js +++ b/app/javascript/core/settings.js @@ -56,7 +56,7 @@ delegate(document, '.input-copy input', 'click', ({ target }) => { }); delegate(document, '.input-copy button', 'click', ({ target }) => { - const input = target.parentNode.querySelector('input'); + const input = target.parentNode.querySelector('.input-copy__wrapper input'); input.focus(); input.select(); diff --git a/app/views/accounts/_og.html.haml b/app/views/accounts/_og.html.haml index a583b39c2..de948ec6a 100644 --- a/app/views/accounts/_og.html.haml +++ b/app/views/accounts/_og.html.haml @@ -1,7 +1,11 @@ +- description = account_description(account) + +%meta{ name: 'description', content: description }/ + = opengraph 'og:url', url = opengraph 'og:site_name', site_title = opengraph 'og:title', yield(:page_title).strip -= opengraph 'og:description', account_description(account) += opengraph 'og:description', description = opengraph 'og:image', full_asset_url(account.avatar.url(:original)) = opengraph 'og:image:width', '120' = opengraph 'og:image:height', '120' diff --git a/app/views/layouts/application.html.haml b/app/views/layouts/application.html.haml index 36b4e9cae..7d3daf6c9 100755 --- a/app/views/layouts/application.html.haml +++ b/app/views/layouts/application.html.haml @@ -3,6 +3,13 @@ %head %meta{ charset: 'utf-8' }/ %meta{ name: 'viewport', content: 'width=device-width, initial-scale=1' }/ + + - if cdn_host? + %link{ rel: 'dns-prefetch', href: cdn_host }/ + + - if storage_host? + %link{ rel: 'dns-prefetch', href: storage_host }/ + %link{ rel: 'icon', href: favicon_path, type: 'image/x-icon' }/ %link{ rel: 'apple-touch-icon', sizes: '180x180', href: '/apple-touch-icon.png' }/ %link{ rel: 'mask-icon', href: '/mask-icon.svg', color: '#2B90D9' }/ diff --git a/app/views/shared/_og.html.haml b/app/views/shared/_og.html.haml index 76db511cd..802d8c41d 100644 --- a/app/views/shared/_og.html.haml +++ b/app/views/shared/_og.html.haml @@ -1,9 +1,13 @@ - thumbnail = @instance_presenter.thumbnail +- description = strip_tags(@instance_presenter.site_short_description.presence || @instance_presenter.site_description.presence || t('about.about_mastodon_html')) + +%meta{ name: 'description', content: description }/ + = opengraph 'og:site_name', t('about.hosted_on', domain: site_hostname) = 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_short_description.presence || @instance_presenter.site_description.presence || t('about.about_mastodon_html')) += opengraph 'og:description', description = 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/app/views/stream_entries/_og_description.html.haml b/app/views/stream_entries/_og_description.html.haml index 3d122b94e..a7b18424d 100644 --- a/app/views/stream_entries/_og_description.html.haml +++ b/app/views/stream_entries/_og_description.html.haml @@ -1 +1,4 @@ -= opengraph 'og:description', status_description(activity) +- description = status_description(activity) + +%meta{ name: 'description', content: description }/ += opengraph 'og:description', description diff --git a/app/workers/scheduler/pghero_scheduler.rb b/app/workers/scheduler/pghero_scheduler.rb new file mode 100644 index 000000000..4453bf2cd --- /dev/null +++ b/app/workers/scheduler/pghero_scheduler.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +class Scheduler::PgheroScheduler + include Sidekiq::Worker + + sidekiq_options unique: :until_executed, retry: 0 + + def perform + PgHero.capture_space_stats + end +end |