Files
HugoBlox-kit/layouts/partials/header.html
T
George Cushen 32252083fa Improve versioning and SRI for dependencies
- Parameterize JS and CSS versions (no longer hardcoded)
- Highlight.js version moved from `config.toml` to `data/sri.toml`
- SRI applied to Highlight.js
2017-09-30 21:23:37 +01:00

81 lines
4.4 KiB
HTML

<!DOCTYPE html>
<html lang="{{ .Site.LanguageCode | default "en-us" }}">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="theme" content="hugo-academic">
{{ .Hugo.Generator }}
{{ with .Site.Params.name }}<meta name="author" content="{{ . }}">{{ end }}
{{ with .Site.Params.role }}<meta name="description" content="{{ . }}">{{ end }}
{{ $sri := .Site.Data.sri }}
{{/* Default to enabling highlighting, but allow the user to override it in .Params or .Site.Params.
Use $.Scratch to store "highlight_enabled", so that we can read it again in footer.html. */}}
{{ $.Scratch.Set "highlight_enabled" true }}
{{ if isset .Params "highlight" }}
{{ $.Scratch.Set "highlight_enabled" .Params.highlight }}
{{ else if isset .Site.Params "highlight" }}
{{ $.Scratch.Set "highlight_enabled" .Site.Params.highlight }}
{{ end }}
{{ if $.Scratch.Get "highlight_enabled" }}
{{ $v := $sri.js.highlight.version }}
{{ with .Site.Params.highlight_style }}
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/{{ $v }}/styles/{{ . }}.min.css">
{{ else }}
<link rel="stylesheet" href="{{ "/css/highlight.min.css" | relURL }}">
{{ end }}
{{ end }}
{{ if not .Site.Params.disable_sri }}
{{ printf "<link rel=\"stylesheet\" href=\"https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/%s/css/bootstrap.min.css\" integrity=\"%s\" crossorigin=\"anonymous\">" $sri.css.bootstrap.version $sri.css.bootstrap.sri | safeHTML }}
{{ printf "<link rel=\"stylesheet\" href=\"https://cdnjs.cloudflare.com/ajax/libs/academicons/%s/css/academicons.min.css\" integrity=\"%s\" crossorigin=\"anonymous\">" $sri.css.academicons.version $sri.css.academicons.sri | safeHTML }}
{{ printf "<link rel=\"stylesheet\" href=\"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/%s/css/font-awesome.min.css\" integrity=\"%s\" crossorigin=\"anonymous\">" $sri.css.fontAwesome.version $sri.css.fontAwesome.sri | safeHTML }}
{{ else }}
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/{{- $sri.css.bootstrap.version -}}/css/bootstrap.min.css">
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/academicons/{{- $sri.css.academicons.version -}}/css/academicons.min.css">
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/font-awesome/{{- $sri.css.fontAwesome.version -}}/css/font-awesome.min.css">
{{ end }}
{{/* We cannot use SRI with Google Fonts because the CSS is dynamically generated according to the user agent */}}
{{- partial "css/parse_theme.css" . -}}
{{- $scr := .Scratch -}}
{{ with ($scr.Get "google_fonts") }}
<link rel="stylesheet" href="//fonts.googleapis.com/css?family={{- . -}}">
{{ end }}
<link rel="stylesheet" href="{{ "styles.css" | relURL }}">
{{ range .Site.Params.custom_css }}
<link rel="stylesheet" href="{{ "/css/" | relURL }}{{ . }}">
{{ end }}
{{ if .Site.GoogleAnalytics }}
<script>
window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
ga('create', '{{ .Site.GoogleAnalytics }}', 'auto');
ga('require', 'eventTracker');
ga('require', 'outboundLinkTracker');
ga('require', 'urlChangeTracker');
ga('send', 'pageview');
</script>
<script async src="//www.google-analytics.com/analytics.js"></script>
{{ if not .Site.Params.disable_sri }}
{{ printf "<script async src=\"https://cdnjs.cloudflare.com/ajax/libs/autotrack/%s/autotrack.js\" integrity=\"%s\" crossorigin=\"anonymous\"></script>" $sri.js.autotrack.version $sri.js.autotrack.sri | safeHTML }}
{{ else }}
<script async src="//cdnjs.cloudflare.com/ajax/libs/autotrack/{{- $sri.js.autotrack.version -}}/autotrack.js"></script>
{{ end }}
{{ end }}
<link rel="alternate" href="{{ .RSSLink | default .Site.RSSLink }}" type="application/rss+xml" title="{{ .Site.Title }}">
<link rel="feed" href="{{ .RSSLink | default .Site.RSSLink }}" type="application/rss+xml" title="{{ .Site.Title }}">
<link rel="icon" type="image/png" href="{{ "/img/icon.png" | relURL }}">
<link rel="apple-touch-icon" type="image/png" href="{{ "/img/apple-touch-icon.png" | relURL }}">
<link rel="canonical" href="{{ .Permalink }}">
{{ partial "head_custom" . }}
<title>{{ if not .IsHome }}{{ .Title }} | {{ end }}{{ .Site.Title }}</title>
</head>
<body id="top" data-spy="scroll" data-target="#navbar-main" data-offset="71">