mirror of
https://github.com/imfing/hextra.git
synced 2025-05-13 07:37:26 -04:00
68 lines
2.2 KiB
HTML
68 lines
2.2 KiB
HTML
<head>
|
||
<meta charset="utf-8" />
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||
{{ if hugo.IsProduction -}}
|
||
<meta name="robots" content="index, follow" />
|
||
{{ else -}}
|
||
<meta name="robots" content="noindex, nofollow" />
|
||
{{ end -}}
|
||
{{ partialCached "favicons.html" . -}}
|
||
<title>
|
||
{{- if .IsHome -}}
|
||
{{ .Site.Title -}}
|
||
{{ else if eq .Kind "page" -}}
|
||
{{ with .Title }}{{ . }} – {{ end -}}
|
||
{{ $sectionTitle := index .Site.Params.sectionsTitles .Section }}
|
||
{{ $sectionTitle | default .Site.Title }}
|
||
{{ else -}}
|
||
{{ with .Title }}{{ . }} – {{ end -}}
|
||
{{ .Site.Title -}}
|
||
{{ end -}}
|
||
</title>
|
||
<meta name="description" content="{{ partial "utils/page-description.html" . }}" />
|
||
|
||
{{- with .Params.canonical -}}
|
||
<link rel="canonical" href="{{ . }}" itemprop="url" />
|
||
{{- else -}}
|
||
<link rel="canonical" href="{{ .Permalink }}" itemprop="url" />
|
||
{{- end -}}
|
||
|
||
{{- partial "opengraph.html" . -}}
|
||
{{- template "_internal/schema.html" . -}}
|
||
{{- template "_internal/twitter_cards.html" . -}}
|
||
|
||
{{- partialCached "head-css.html" . -}}
|
||
|
||
|
||
<!-- Google Analytics -->
|
||
{{- if and (eq hugo.Environment "production") .Site.Config.Services.GoogleAnalytics.ID }}
|
||
<link rel="preconnect" href="https://www.googletagmanager.com" crossorigin />
|
||
{{ partial "google-analytics.html" . }}
|
||
{{- end }}
|
||
|
||
<script>
|
||
/* Initialize light/dark mode */
|
||
const defaultTheme = '{{ site.Params.theme.default | default `system`}}';
|
||
|
||
const setDarkTheme = () => {
|
||
document.documentElement.classList.add("dark");
|
||
document.documentElement.style.colorScheme = "dark";
|
||
}
|
||
const setLightTheme = () => {
|
||
document.documentElement.classList.remove("dark");
|
||
document.documentElement.style.colorScheme = "light";
|
||
}
|
||
|
||
if ("color-theme" in localStorage) {
|
||
localStorage.getItem("color-theme") === "dark" ? setDarkTheme() : setLightTheme();
|
||
} else {
|
||
defaultTheme === "dark" ? setDarkTheme() : setLightTheme();
|
||
if (defaultTheme === "system") {
|
||
window.matchMedia("(prefers-color-scheme: dark)").matches ? setDarkTheme() : setLightTheme();
|
||
}
|
||
}
|
||
</script>
|
||
|
||
{{ partial "custom/head-end.html" . }}
|
||
</head>
|