98 lines
4 KiB
Text
98 lines
4 KiB
Text
- page_description brand_title unless page_description
|
|
- site_name = "GitLab"
|
|
%head{ prefix: "og: http://ogp.me/ns#" }
|
|
%meta{ charset: "utf-8" }
|
|
|
|
%title= page_title(site_name)
|
|
|
|
= render 'layouts/loading_hints'
|
|
|
|
%meta{ 'http-equiv' => 'X-UA-Compatible', content: 'IE=edge' }
|
|
|
|
= render 'layouts/startup_js'
|
|
|
|
- if page_canonical_link
|
|
%link{ rel: 'canonical', href: page_canonical_link }
|
|
|
|
= yield :prefetch_asset_tags
|
|
|
|
= favicon_link_tag favicon, id: 'favicon', data: { original_href: favicon }, type: 'image/png'
|
|
|
|
= render 'layouts/startup_css', { startup_filename: local_assigns.fetch(:startup_filename, nil) }
|
|
- if user_application_theme == 'gl-dark'
|
|
%meta{ name: 'color-scheme', content: 'dark light' }
|
|
= stylesheet_link_tag_defer "application_dark"
|
|
= yield :page_specific_styles
|
|
= stylesheet_link_tag_defer "application_utilities_dark"
|
|
- else
|
|
= stylesheet_link_tag_defer "application"
|
|
= yield :page_specific_styles
|
|
= stylesheet_link_tag_defer 'application_utilities'
|
|
= stylesheet_link_tag "disable_animations", media: "all" if Rails.env.test? || Gitlab.config.gitlab['disable_animations']
|
|
= stylesheet_link_tag "test_environment", media: "all" if Rails.env.test?
|
|
|
|
= stylesheet_link_tag_defer "highlight/themes/#{user_color_scheme}"
|
|
|
|
= render 'layouts/startup_css_activation'
|
|
|
|
= stylesheet_link_tag 'performance_bar' if performance_bar_enabled?
|
|
|
|
= Gon::Base.render_data(nonce: content_security_policy_nonce)
|
|
|
|
= render_if_exists 'layouts/header/translations'
|
|
= webpack_bundle_tag "sentry" if Gitlab.config.sentry.enabled
|
|
= webpack_bundle_tag 'performance_bar' if performance_bar_enabled?
|
|
|
|
= yield :page_specific_javascripts
|
|
|
|
= webpack_controller_bundle_tags
|
|
|
|
= yield :project_javascripts
|
|
|
|
-# Open Graph - http://ogp.me/
|
|
%meta{ property: 'og:type', content: "object" }
|
|
%meta{ property: 'og:site_name', content: site_name }
|
|
%meta{ property: 'og:title', content: page_title }
|
|
%meta{ property: 'og:description', content: page_description }
|
|
%meta{ property: 'og:image', content: page_image }
|
|
%meta{ property: 'og:image:width', content: '64' }
|
|
%meta{ property: 'og:image:height', content: '64' }
|
|
%meta{ property: 'og:url', content: request.base_url + request.fullpath }
|
|
|
|
-# Twitter Card - https://dev.twitter.com/cards/types/summary
|
|
%meta{ property: 'twitter:card', content: "summary" }
|
|
%meta{ property: 'twitter:title', content: page_title }
|
|
%meta{ property: 'twitter:description', content: page_description }
|
|
%meta{ property: 'twitter:image', content: page_image }
|
|
= page_card_meta_tags
|
|
|
|
%meta{ name: "description", content: page_description }
|
|
|
|
%meta{ name: 'viewport', content: 'width=device-width, initial-scale=1, maximum-scale=1' }
|
|
%meta{ name: 'theme-color', content: user_theme_primary_color }
|
|
|
|
= csrf_meta_tags
|
|
= csp_meta_tag
|
|
= action_cable_meta_tag
|
|
|
|
-# Apple Safari/iOS home screen icons
|
|
= favicon_link_tag 'touch-icon-iphone.png', rel: 'apple-touch-icon'
|
|
= favicon_link_tag 'touch-icon-ipad.png', rel: 'apple-touch-icon', sizes: '76x76'
|
|
= favicon_link_tag 'touch-icon-iphone-retina.png', rel: 'apple-touch-icon', sizes: '120x120'
|
|
= favicon_link_tag 'touch-icon-ipad-retina.png', rel: 'apple-touch-icon', sizes: '152x152'
|
|
%link{ rel: 'mask-icon', href: image_path('logo.svg'), color: 'rgb(226, 67, 41)' }
|
|
|
|
-# OpenSearch
|
|
%link{ href: search_opensearch_path(format: :xml), rel: 'search', title: 'Search GitLab', type: 'application/opensearchdescription+xml' }
|
|
|
|
-# Windows 8 pinned site tile
|
|
%meta{ name: 'msapplication-TileImage', content: image_path('msapplication-tile.png') }
|
|
%meta{ name: 'msapplication-TileColor', content: '#30353E' }
|
|
|
|
= yield :meta_tags
|
|
|
|
= render 'layouts/google_analytics' if extra_config.has_key?('google_analytics_id')
|
|
= render 'layouts/matomo' if extra_config.has_key?('matomo_url') && extra_config.has_key?('matomo_site_id')
|
|
= render 'layouts/snowplow'
|
|
-# This is needed by [GitLab JH](https://gitlab.com/gitlab-jh/gitlab/-/issues/184)
|
|
= render_if_exists "layouts/frontend_monitor"
|