!!! 5 %html{ lang: I18n.locale } %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' }/ %link{ rel: 'manifest', href: '/manifest.json' }/ %meta{ name: 'msapplication-config', content: '/browserconfig.xml' }/ %meta{ name: 'theme-color', content: '#282c37' }/ %meta{ name: 'apple-mobile-web-app-capable', content: 'yes' }/ %title= content_for?(:page_title) ? safe_join([yield(:page_title).chomp.html_safe, title], ' - ') : title = javascript_pack_tag "locales", integrity: true, crossorigin: 'anonymous' - if @theme - if @theme[:supported_locales].include? I18n.locale.to_s = javascript_pack_tag "locales/#{@theme[:flavour]}/#{I18n.locale}", integrity: true, crossorigin: 'anonymous' - elsif @theme[:supported_locales].include? 'en' = javascript_pack_tag "locales/#{@theme[:flavour]}/en", integrity: true, crossorigin: 'anonymous' = csrf_meta_tags = yield :header_tags -# These must come after :header_tags to ensure our initial state has been defined. = render partial: 'layouts/theme', object: @core = render partial: 'layouts/theme', object: @theme - if Setting.custom_css.present? = stylesheet_link_tag custom_css_path, media: 'all' - if current_account&.user_hides_captions? :css div .media-caption, span .caption { display: none } - if current_account&.user_wants_larger_menus? :css .dropdown-menu__item a { padding: 14px 14px !important; font-size: 14px !important } .dropdown--active .dropdown__content > ul > li > a { padding: 14px 0 !important; font-size: 14px !important } - if current_account&.user_wants_larger_buttons? :css .drawer { min-width: 350px !important } .status__action-bar .icon-button, .detailed-status__action-bar .icon-button, .composer--options .icon-button { font-size: 24px !important; height: 24px !important; width: 24px !important; line-height: 24px !important; margin-right: 24px; } - if current_account&.user_wants_larger_drawer? :css .drawer { min-width: 400px !important } - if current_account&.user_hides_mascot? :css .drawer__inner__mastodon>img { display: none !important } -if current_account&.user_wants_larger_emoji? :css .status__content .emojione { width: 24px !important; height: 24px !important } .status__content .hoverplay:hover { padding-left: 24px !important } -if current_account&.user_shows_cursor? :css span.cursor::before { content: " █" } -if current_account&.user&.setting_auto_play_gif :css span.cursor { animation: t_blink 1s linear infinite } -else :css span.cursor:hover { animation: t_blink 1s linear infinite } - if current_account&.user_forces_lowercase? :css * { text-transform: lowercase; font-variant: inherit !important; } %body{ class: body_classes } = content_for?(:content) ? yield(:content) : yield %div{ style: 'display: none'} = render file: Rails.root.join('app', 'javascript', 'images', 'logo_transparent.svg') = render file: Rails.root.join('app', 'javascript', 'images', 'logo_full.svg')