Conflicts: - `app/views/layouts/application.html.haml`: Upstream changed how theming works, and in particular changed the set of HTML attributes. Adapted upstream's change.
51 lines
2.2 KiB
Plaintext
Executable File
51 lines
2.2 KiB
Plaintext
Executable File
!!! 5
|
|
%html{ html_attributes }
|
|
%head
|
|
%meta{ charset: 'utf-8' }/
|
|
%meta{ name: 'viewport', content: 'width=device-width, initial-scale=1, viewport-fit=cover' }/
|
|
|
|
- if cdn_host?
|
|
%link{ rel: 'dns-prefetch', href: cdn_host }/
|
|
%meta{ name: 'cdn-host', content: cdn_host }/
|
|
|
|
- if storage_host?
|
|
%link{ rel: 'dns-prefetch', href: storage_host }/
|
|
|
|
- SiteUpload::FAVICON_SIZES.each do |size|
|
|
%link{ rel: 'icon', sizes: "#{size}x#{size}", href: favicon_path(size.to_i) || frontend_asset_path("icons/favicon-#{size}x#{size}.png"), type: 'image/png' }/
|
|
|
|
- SiteUpload::APPLE_ICON_SIZES.each do |size|
|
|
%link{ rel: 'apple-touch-icon', sizes: "#{size}x#{size}", href: app_icon_path(size.to_i) || frontend_asset_path("icons/apple-touch-icon-#{size}x#{size}.png") }/
|
|
|
|
- if use_mask_icon?
|
|
%link{ rel: 'mask-icon', href: frontend_asset_path('images/logo-symbol-icon.svg'), color: '#6364FF' }/
|
|
%link{ rel: 'manifest', href: manifest_path(format: :json) }/
|
|
= javascript_inline_tag 'theme-selection.js'
|
|
= theme_color_tags current_theme
|
|
%meta{ name: 'mobile-web-app-capable', content: 'yes' }/
|
|
|
|
%title= html_title
|
|
|
|
= theme_style_tags current_theme
|
|
= vite_client_tag
|
|
= vite_react_refresh_tag
|
|
= vite_polyfills_tag
|
|
-# Needed for the wicg-inert polyfill. It needs to be on it's own <style> tag, with this `id`
|
|
= vite_stylesheet_tag 'styles/entrypoints/inert.scss', media: 'all', id: 'inert-style', crossorigin: 'anonymous' # TODO: flavour
|
|
= flavoured_vite_typescript_tag 'common.ts', crossorigin: 'anonymous'
|
|
|
|
= vite_preload_file_tag "mastodon/locales/#{I18n.locale}.json" # TODO: fix preload for flavour
|
|
= csrf_meta_tags unless skip_csrf_meta_tags?
|
|
%meta{ name: 'style-nonce', content: request.content_security_policy_nonce, property: 'csp-nonce', nonce: request.content_security_policy_nonce }
|
|
|
|
= custom_stylesheet
|
|
|
|
= yield :header_tags
|
|
|
|
%body{ class: body_classes }
|
|
= content_for?(:content) ? yield(:content) : yield
|
|
|
|
.logo-resources{ 'tabindex' => '-1', 'inert' => true, 'aria-hidden' => 'true' }
|
|
= inline_svg_tag 'logo-symbol-icon.svg'
|
|
= inline_svg_tag 'logo-symbol-wordmark.svg'
|