summaryrefslogtreecommitdiff
path: root/app/views/layouts/_head.html.haml
blob: 20b844f9fd8965c473f1f67863f07a93a56e4c2e (plain)
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
- page_description brand_title unless page_description

- site_name = "GitLab"
%head{ prefix: "og: http://ogp.me/ns#" }
  %meta{ charset: "utf-8" }

  - if Feature.enabled?('asset_host_prefetch') && ActionController::Base.asset_host
    %link{ rel: 'dns-prefetch', href: ActionController::Base.asset_host }
    %link{ rel: 'preconnnect', href: ActionController::Base.asset_host, crossorigin: '' }

  %meta{ 'http-equiv' => 'X-UA-Compatible', content: 'IE=edge' }

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

  %title= page_title(site_name)
  %meta{ name: "description", content: page_description }

  = favicon_link_tag favicon, id: 'favicon', data: { original_href: favicon }, type: 'image/png'

  = stylesheet_link_tag "application", media: "all"
  = stylesheet_link_tag "print", media: "print"
  = stylesheet_link_tag "test", media: "all" if Rails.env.test?
  = stylesheet_link_tag 'performance_bar' if performance_bar_enabled?
  = stylesheet_link_tag 'csslab' if Feature.enabled?(:csslab)

  = stylesheet_link_tag "highlight/themes/#{user_color_scheme}", media: "all"

  = Gon::Base.render_data

  - if content_for?(:library_javascripts)
    = yield :library_javascripts

  = javascript_include_tag locale_path unless I18n.locale == :en
  = webpack_bundle_tag "raven" if Gitlab.config.sentry.enabled

  - if content_for?(:page_specific_javascripts)
    = yield :page_specific_javascripts

  = webpack_controller_bundle_tags

  = yield :project_javascripts

  = csrf_meta_tags

  - unless browser.safari?
    %meta{ name: 'referrer', content: 'origin-when-cross-origin' }
  %meta{ name: 'viewport', content: 'width=device-width, initial-scale=1, maximum-scale=1' }
  %meta{ name: 'theme-color', content: '#474D57' }

  -# 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)' }

  -# 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/piwik' if extra_config.has_key?('piwik_url') && extra_config.has_key?('piwik_site_id')
  = render_if_exists 'layouts/snowplow'
  = render_if_exists 'layouts/pendo' if Feature.enabled?(:pendo_tracking) && !Rails.env.test?