File: _head.html.haml

package info (click to toggle)
gitlab 17.6.5-19
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 629,368 kB
  • sloc: ruby: 1,915,304; javascript: 557,307; sql: 60,639; xml: 6,509; sh: 4,567; makefile: 1,239; python: 406
file content (117 lines) | stat: -rw-r--r-- 4,955 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
- page_description brand_title unless page_description
- site_name = _('GitLab')
- omit_og = sign_in_with_redirect?

-# This is a temporary place for the page specific style migrations to be included on all pages like page_specific_files
- if Feature.disabled?(:page_specific_styles, current_user)
  - add_page_specific_style('page_bundles/commit_description')

- add_work_items_stylesheet

%head{ omit_og ? { } : { prefix: "og: http://ogp.me/ns#" } }
  %meta{ charset: "utf-8" }
  %meta{ 'http-equiv' => 'X-UA-Compatible', content: 'IE=edge' }
  %meta{ name: 'viewport', content: 'width=device-width, initial-scale=1' }
  %title= page_title(site_name)
  = Gon::Base.render_data(nonce: content_security_policy_nonce)
  = yield :project_javascripts

  = render 'layouts/application_color_mode_js'

  = render 'layouts/startup_js'
  = yield :startup_js

  - if page_canonical_link
    %link{ rel: 'canonical', href: page_canonical_link }

  = yield :prefetch_asset_tags

  - diffs_colors = user_diffs_colors
  = render 'layouts/diffs_colors_css', diffs_colors if diffs_colors.present? || request.path == profile_preferences_path

  - if user_application_dark_mode?
    %meta{ name: 'color-scheme', content: 'dark light' }
    = universal_stylesheet_link_tag "application_dark"
    = yield :page_specific_styles
    = universal_stylesheet_link_tag "application_utilities_dark"
  - elsif user_application_system_mode?
    %meta{ name: 'color-scheme', content: 'light dark' }
    = universal_stylesheet_link_tag "application", media: "(prefers-color-scheme: light)"
    = universal_stylesheet_link_tag "application_dark", media: "(prefers-color-scheme: dark)"
    = yield :page_specific_styles
    = universal_stylesheet_link_tag "application_utilities", media: "(prefers-color-scheme: light)"
    = universal_stylesheet_link_tag "application_utilities_dark", media: "(prefers-color-scheme: dark)"
  - else
    = universal_stylesheet_link_tag "application"
    = yield :page_specific_styles
    = universal_stylesheet_link_tag 'application_utilities'
  = universal_stylesheet_link_tag 'tailwind'
  = universal_stylesheet_link_tag "disable_animations", media: "all" if Rails.env.test? || Gitlab.config.gitlab['disable_animations']
  = universal_stylesheet_link_tag "test_environment", media: "all" if Rails.env.test?

  = universal_stylesheet_link_tag "fonts"

  = universal_stylesheet_link_tag "highlight/themes/#{user_color_scheme}"

  = universal_stylesheet_link_tag 'performance_bar' if performance_bar_enabled?

  = render 'layouts/snowplow'
  = render 'layouts/loading_hints'

  = render_if_exists 'layouts/header/translations'
  - if Gitlab::CurrentSettings.sentry_enabled
    = webpack_bundle_tag 'sentry'
  = webpack_bundle_tag 'performance_bar' if performance_bar_enabled?

  = webpack_bundle_tag 'super_sidebar'

  - if vite_enabled?
    = render 'layouts/vite_main'
  - else
    = webpack_controller_bundle_tags

  = yield :page_specific_javascripts

  - unless omit_og
    -# 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

  = csrf_meta_tags
  = csp_meta_tag
  = action_cable_meta_tag

  %link{ rel: 'manifest', href: manifest_path(format: :json) }
  = favicon_link_tag favicon, id: 'favicon', data: { original_href: favicon }, type: 'image/png'

  -# Apple Safari/iOS home screen icons
  = appearance_apple_touch_icon

  -# OpenSearch
  %link{ href: search_opensearch_path(format: :xml), rel: 'search', title: 'Search GitLab', type: 'application/opensearchdescription+xml' }

  = 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')
  -# This is needed by [GitLab JH](https://gitlab.com/gitlab-jh/gitlab/-/issues/184)
  = render_if_exists "layouts/frontend_monitor"
  %meta{ name: "description", content: page_description }
  %meta{ name: 'theme-color', content: user_theme_primary_color }

  - if Gitlab.config.gitlab.respond_to?(:custom_html_header_tags)
    - unless Gitlab.config.gitlab.custom_html_header_tags.empty?
      = Gitlab.config.gitlab.custom_html_header_tags.html_safe