2021-02-26 15:26:50 +01:00
|
|
|
<meta charset="utf-8">
|
|
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
|
|
|
{{- if hugo.IsProduction | or (eq .Site.Params.env "production") }}
|
|
|
|
<meta name="robots" content="index, follow">
|
|
|
|
{{- else }}
|
2022-01-23 03:13:45 +01:00
|
|
|
<meta name="robots" content="noindex, nofollow">
|
2021-02-26 15:26:50 +01:00
|
|
|
{{- end -}}
|
|
|
|
<!-- Title -->
|
|
|
|
<title>{{ if .IsHome }}{{else}}{{ if .Title }}{{ .Title }} | {{ end }}{{end}}{{ .Site.Title }}</title>
|
|
|
|
<!-- Meta -->
|
|
|
|
<meta name="keywords" content="{{ if .Params.keywords -}}
|
|
|
|
{{- range $i, $e := .Params.keywords }}{{ if $i }}, {{ end }}{{ $e }}{{ end }} {{- else }}
|
|
|
|
{{- range $i, $e := .Params.tags }}{{ if $i }}, {{ end }}{{ $e }}{{ end }} {{- end -}}" />
|
|
|
|
<meta name="description" content="{{- with .Description }}{{ . }}{{- else }}{{- if .IsPage}}
|
|
|
|
{{- .Summary | default (printf "%s - %s" .Title .Site.Title) }}{{- else }}
|
|
|
|
{{- with .Site.Params.description }}{{ . }}{{- end }}{{- end }}{{- end -}}">
|
|
|
|
<meta name="author" content="{{ (partial "author.html" . ) }}">
|
|
|
|
<link rel="canonical" href="{{ if .Params.canonicalURL -}} {{ trim .Params.canonicalURL " " }} {{- else -}} {{ .Permalink }} {{- end }}" />
|
|
|
|
{{- if .Site.Params.analytics.google.SiteVerificationTag }}
|
|
|
|
<meta name="google-site-verification" content="{{ .Site.Params.analytics.google.SiteVerificationTag }}" />
|
|
|
|
{{- end}}
|
|
|
|
{{- if .Site.Params.analytics.yandex.SiteVerificationTag }}
|
|
|
|
<meta name="yandex-verification" content="{{ .Site.Params.analytics.yandex.SiteVerificationTag }}" />
|
|
|
|
{{- end}}
|
|
|
|
{{- if .Site.Params.analytics.bing.SiteVerificationTag }}
|
|
|
|
<meta name="msvalidate.01" content="{{ .Site.Params.analytics.bing.SiteVerificationTag }}" />
|
|
|
|
{{- end}}
|
|
|
|
<!-- Styles -->
|
|
|
|
{{- $common := (resources.Match "css/*.css") | resources.Concat "assets/css/common.css" }}
|
|
|
|
{{- $extended := (resources.Match "css/extended/*.css") | resources.Concat "assets/css/extended.css" }}
|
|
|
|
{{- /* bundle all required css */}}
|
|
|
|
{{- /* Add extended css after theme style */ -}}
|
|
|
|
{{- $stylesheet := (slice $common $extended) | resources.Concat "assets/css/stylesheet.css" | minify }}
|
|
|
|
|
|
|
|
{{- if not .Site.Params.assets.disableFingerprinting }}
|
|
|
|
{{- $stylesheet := $stylesheet | fingerprint -}}
|
|
|
|
<link href="{{ $stylesheet.RelPermalink }}" integrity="{{ $stylesheet.Data.Integrity }}" rel="preload stylesheet"
|
|
|
|
as="style">
|
|
|
|
{{- else}}
|
|
|
|
<link href="{{ $stylesheet.RelPermalink }}" rel="preload stylesheet" as="style">
|
|
|
|
{{- end}}
|
|
|
|
<!-- Search -->
|
|
|
|
{{- if (eq .Layout `search`) -}}
|
|
|
|
<link rel="preload" as="fetch" href="../index.json" crossOrigin="anonymous">
|
|
|
|
{{- $fastsearch := resources.Get "js/fastsearch.js" | resources.ExecuteAsTemplate "js/fastsearch.js" .Site.Params.fuseOpts }}
|
|
|
|
{{- $fusejs := resources.Get "js/fuse.js" }}
|
|
|
|
{{- if not .Site.Params.assets.disableFingerprinting }}
|
|
|
|
{{- $search := (slice $fusejs $fastsearch ) | resources.Concat "assets/js/search.js" | minify | fingerprint }}
|
|
|
|
<script defer src="{{ $search.RelPermalink }}" onload="loadSearch();" integrity="{{ $search.Data.Integrity }}"></script>
|
|
|
|
{{- else}}
|
|
|
|
{{ $search := (slice $fusejs $fastsearch ) | resources.Concat "assets/js/search.js" | minify }}
|
|
|
|
<script defer src="{{ $search.RelPermalink }}" onload="loadSearch();"></script>
|
|
|
|
{{- end}}
|
|
|
|
{{- end -}}
|
|
|
|
|
|
|
|
<!-- Favicons -->
|
|
|
|
<link rel="icon" href="{{- .Site.Params.assets.favicon | default "favicon.ico" | absURL -}}">
|
|
|
|
<link rel="icon" type="image/png" sizes="16x16" href="
|
|
|
|
{{- .Site.Params.assets.favicon16x16 | default "favicon-16x16.png" | absURL -}}">
|
|
|
|
<link rel="icon" type="image/png" sizes="32x32" href="
|
|
|
|
{{- .Site.Params.assets.favicon32x32 | default "favicon-32x32.png" | absURL -}}">
|
|
|
|
<link rel="apple-touch-icon" href="
|
|
|
|
{{- .Site.Params.assets.apple_touch_icon | default "apple-touch-icon.png" | absURL -}}">
|
|
|
|
<link rel="mask-icon" href="{{- .Site.Params.assets.safari_pinned_tab | default "safari-pinned-tab.svg" | absURL -}}">
|
|
|
|
<meta name="theme-color" content="#2e2e33">
|
|
|
|
<meta name="msapplication-TileColor" content="#2e2e33">
|
|
|
|
<!-- Generator -->
|
|
|
|
{{- hugo.Generator }}
|
|
|
|
<!-- RSS -->
|
|
|
|
{{ range .AlternativeOutputFormats -}}
|
|
|
|
{{ printf `<link rel="%s" type="%s" href="%s" title="%s" />` .Rel .MediaType.Type .Permalink $.Site.Title | safeHTML }}
|
|
|
|
{{ end -}}
|
|
|
|
{{- range .AllTranslations -}}
|
|
|
|
<link rel="alternate" hreflang="{{- .Lang -}}" href="{{- .Permalink -}}" />
|
|
|
|
{{ end }}
|
|
|
|
{{- partial "extend_head.html" . -}}
|
|
|
|
<!-- Misc -->
|
|
|
|
{{- if hugo.IsProduction | or (eq .Site.Params.env "production") }}
|
|
|
|
{{- template "_internal/google_analytics_async.html" . }}
|
|
|
|
{{- template "_internal/google_news.html" . }}
|
|
|
|
{{- template "partials/templates/opengraph.html" . }}
|
|
|
|
{{- template "partials/templates/twitter_cards.html" . }}
|
|
|
|
{{- template "partials/templates/schema_json.html" . }}
|
|
|
|
{{- end }}
|