9e14f437b6
the initial reason for this change was that graphicsmagick does not support writing to ico files. this fact lead to a chain of changes: 1. use png instead of ico (browser support is good enough) 2. render the overlays on the client using the canvas API. this way we only need to store the original favion and generate the overlay versions dynamically. this change also enables (next step) to simplify the handling of the stock favicons as well, as we don't need to generate all the versions upfront.
71 lines
3 KiB
Text
71 lines
3 KiB
Text
- page_description brand_title unless page_description
|
|
|
|
- site_name = "GitLab"
|
|
%head{ prefix: "og: http://ogp.me/ns#" }
|
|
%meta{ charset: "utf-8" }
|
|
%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?
|
|
|
|
= 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::CurrentSettings.clientside_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')
|