- page_description brand_title unless page_description -# Needs a redirect on the client side since it's using an anchor to distuingish -# between sign in and registration. We need to inline the JS to not render -# anything from this page beforehand. -# Part of an experiment to build a new sign up flow. Will be removed again with -# https://gitlab.com/gitlab-org/growth/engineering/issues/64 - if experiment_enabled?(:signup_flow) && current_path?("sessions#new") = javascript_tag nonce: true do :plain if (window.location.hash === '#register-pane') { window.location.replace("/users/sign_up") } - site_name = "GitLab" %head{ prefix: "og: http://ogp.me/ns#" } %meta{ charset: "utf-8" } - if ActionController::Base.asset_host %link{ rel: 'dns-prefetch', href: ActionController::Base.asset_host } %link{ rel: 'preconnect', href: ActionController::Base.asset_host, crossorigin: '' } - if Gitlab::CurrentSettings.snowplow_enabled? && Gitlab::CurrentSettings.snowplow_collector_hostname %link{ rel: 'preconnect', href: Gitlab::CurrentSettings.snowplow_collector_hostname, 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 "disable_animations", media: "all" if Rails.env.test? || Gitlab.config.gitlab['disable_animations'] = stylesheet_link_tag 'performance_bar' if performance_bar_enabled? = stylesheet_link_tag "highlight/themes/#{user_color_scheme}", media: "all" = Gon::Base.render_data(nonce: content_security_policy_nonce) - if content_for?(:library_javascripts) = yield :library_javascripts = javascript_include_tag locale_path unless I18n.locale == :en = webpack_bundle_tag "sentry" 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 = csp_meta_tag = action_cable_meta_tag - 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 'layouts/snowplow'