You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

41 lines
1.7 KiB

  1. !!! 5
  2. %html{ lang: I18n.locale }
  3. %head
  4. %meta{ charset: 'utf-8' }/
  5. %meta{ name: 'viewport', content: 'width=device-width, initial-scale=1' }/
  6. - if cdn_host?
  7. %link{ rel: 'dns-prefetch', href: cdn_host }/
  8. - if storage_host?
  9. %link{ rel: 'dns-prefetch', href: storage_host }/
  10. %link{ rel: 'icon', href: favicon_path, type: 'image/x-icon' }/
  11. %link{ rel: 'apple-touch-icon', sizes: '180x180', href: '/apple-touch-icon.png' }/
  12. %link{ rel: 'mask-icon', href: '/mask-icon.svg', color: '#2B90D9' }/
  13. %link{ rel: 'manifest', href: '/manifest.json' }/
  14. %meta{ name: 'msapplication-config', content: '/browserconfig.xml' }/
  15. %meta{ name: 'theme-color', content: '#282c37' }/
  16. %meta{ name: 'apple-mobile-web-app-capable', content: 'yes' }/
  17. %title= content_for?(:page_title) ? safe_join([yield(:page_title).chomp.html_safe, title], ' - ') : title
  18. = javascript_pack_tag "locales", integrity: true, crossorigin: 'anonymous'
  19. - if @theme
  20. - if @theme[:supported_locales].include? I18n.locale.to_s
  21. = javascript_pack_tag "locales/#{@theme[:flavour]}/#{I18n.locale}", integrity: true, crossorigin: 'anonymous'
  22. - elsif @theme[:supported_locales].include? 'en'
  23. = javascript_pack_tag "locales/#{@theme[:flavour]}/en", integrity: true, crossorigin: 'anonymous'
  24. = csrf_meta_tags
  25. - if Setting.custom_css.present?
  26. = stylesheet_link_tag custom_css_path, media: 'all'
  27. = yield :header_tags
  28. -# These must come after :header_tags to ensure our initial state has been defined.
  29. = render partial: 'layouts/theme', object: @core
  30. = render partial: 'layouts/theme', object: @theme
  31. %body{ class: body_classes }
  32. = content_for?(:content) ? yield(:content) : yield