2021-03-30 14:37:36 +02:00
|
|
|
{{- /* theme-toggle is enabled */}}
|
2022-03-27 15:14:06 +02:00
|
|
|
{{- if (not site.Params.disableThemeToggle) }}
|
2021-03-30 14:37:36 +02:00
|
|
|
{{- /* theme is light */}}
|
2022-03-27 15:14:06 +02:00
|
|
|
{{- if (eq site.Params.defaultTheme "light") }}
|
2020-09-17 11:58:03 +02:00
|
|
|
<script>
|
2020-10-04 17:13:24 +02:00
|
|
|
if (localStorage.getItem("pref-theme") === "dark") {
|
2020-09-17 11:58:03 +02:00
|
|
|
document.body.classList.add('dark');
|
|
|
|
}
|
2020-10-26 17:49:05 +01:00
|
|
|
|
2020-09-17 11:58:03 +02:00
|
|
|
</script>
|
2021-03-30 14:37:36 +02:00
|
|
|
{{- /* theme is dark */}}
|
2022-03-27 15:14:06 +02:00
|
|
|
{{- else if (eq site.Params.defaultTheme "dark") }}
|
2020-10-05 11:03:48 +02:00
|
|
|
<script>
|
2020-11-26 04:40:24 +01:00
|
|
|
if (localStorage.getItem("pref-theme") === "light") {
|
2020-11-04 09:34:45 +01:00
|
|
|
document.body.classList.remove('dark')
|
|
|
|
}
|
|
|
|
|
|
|
|
</script>
|
2020-11-26 04:40:24 +01:00
|
|
|
{{- else }}
|
2021-03-30 14:37:36 +02:00
|
|
|
{{- /* theme is auto */}}
|
2020-11-04 09:34:45 +01:00
|
|
|
<script>
|
|
|
|
if (localStorage.getItem("pref-theme") === "dark") {
|
|
|
|
document.body.classList.add('dark');
|
|
|
|
} else if (localStorage.getItem("pref-theme") === "light") {
|
|
|
|
document.body.classList.remove('dark')
|
|
|
|
} else if (window.matchMedia('(prefers-color-scheme: dark)').matches) {
|
2020-10-05 11:03:48 +02:00
|
|
|
document.body.classList.add('dark');
|
|
|
|
}
|
2020-10-26 17:49:05 +01:00
|
|
|
|
2020-10-05 11:03:48 +02:00
|
|
|
</script>
|
|
|
|
{{- end }}
|
2021-03-30 14:37:36 +02:00
|
|
|
{{- /* theme-toggle is disabled and theme is auto */}}
|
2022-03-27 15:14:06 +02:00
|
|
|
{{- else if (and (ne site.Params.defaultTheme "light") (ne site.Params.defaultTheme "dark"))}}
|
2020-11-26 04:40:24 +01:00
|
|
|
<script>
|
|
|
|
if (window.matchMedia('(prefers-color-scheme: dark)').matches) {
|
|
|
|
document.body.classList.add('dark');
|
|
|
|
}
|
|
|
|
|
|
|
|
</script>
|
|
|
|
{{- end }}
|
2021-03-30 14:37:36 +02:00
|
|
|
|
2020-07-21 12:06:30 +02:00
|
|
|
<header class="header">
|
|
|
|
<nav class="nav">
|
2020-10-26 17:49:05 +01:00
|
|
|
<div class="logo">
|
2022-03-27 15:14:06 +02:00
|
|
|
{{- $label_text := (site.Params.label.text | default site.Title) }}
|
|
|
|
{{- if site.Title }}
|
2021-03-27 07:21:48 +01:00
|
|
|
<a href="{{ "" | absLangURL }}" accesskey="h" title="{{ $label_text }} (Alt + H)">
|
2022-03-27 15:14:06 +02:00
|
|
|
{{- if site.Params.label.icon }}
|
2022-03-27 16:47:49 +02:00
|
|
|
{{- $img := resources.Get site.Params.label.icon }}
|
|
|
|
{{- if $img }}
|
|
|
|
{{- $processableFormats := (slice "jpg" "jpeg" "png" "tif" "bmp" "gif") -}}
|
|
|
|
{{- if hugo.IsExtended -}}
|
|
|
|
{{- $processableFormats = $processableFormats | append "webp" -}}
|
|
|
|
{{- end -}}
|
|
|
|
{{- $prod := (hugo.IsProduction | or (eq site.Params.env "production")) }}
|
|
|
|
{{- if and (in $processableFormats $img.MediaType.SubType) (eq $prod true)}}
|
|
|
|
{{- if site.Params.label.iconHeight }}
|
|
|
|
{{- $img = $img.Resize (printf "x%d" site.Params.label.iconHeight) }}
|
|
|
|
{{ else }}
|
|
|
|
{{- $img = $img.Resize "x30" }}
|
|
|
|
{{- end }}
|
|
|
|
{{- end }}
|
2022-07-17 07:28:40 +02:00
|
|
|
<img src="{{ $img.Permalink }}" alt="" aria-label="logo"
|
2022-03-27 16:47:49 +02:00
|
|
|
height="{{- site.Params.label.iconHeight | default "30" -}}">
|
|
|
|
{{- else }}
|
2022-07-17 07:28:40 +02:00
|
|
|
<img src="{{- site.Params.label.icon | absURL -}}" alt="" aria-label="logo"
|
2022-03-27 15:14:06 +02:00
|
|
|
height="{{- site.Params.label.iconHeight | default "30" -}}">
|
2020-10-16 20:17:46 +02:00
|
|
|
{{- end -}}
|
2022-07-23 06:15:32 +02:00
|
|
|
{{- else if hasPrefix site.Params.label.iconSVG "<svg" }}
|
|
|
|
{{ site.Params.label.iconSVG | safeHTML }}
|
2022-03-27 16:47:49 +02:00
|
|
|
{{- end -}}
|
2021-03-27 07:21:48 +01:00
|
|
|
{{- $label_text -}}
|
2020-10-16 20:17:46 +02:00
|
|
|
</a>
|
2021-01-31 12:35:40 +01:00
|
|
|
{{- end }}
|
2022-05-27 19:19:32 +02:00
|
|
|
<div class="logo-switches">
|
2022-03-27 15:14:06 +02:00
|
|
|
{{- if (not site.Params.disableThemeToggle) }}
|
2021-02-12 06:18:04 +01:00
|
|
|
<button id="theme-toggle" accesskey="t" title="(Alt + T)">
|
2022-07-08 16:57:40 +02:00
|
|
|
<svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
|
2021-01-31 12:35:40 +01:00
|
|
|
fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
|
|
|
|
stroke-linejoin="round">
|
|
|
|
<path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"></path>
|
|
|
|
</svg>
|
2022-07-08 16:57:40 +02:00
|
|
|
<svg id="sun" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
|
2021-01-31 12:35:40 +01:00
|
|
|
fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
|
|
|
|
stroke-linejoin="round">
|
|
|
|
<circle cx="12" cy="12" r="5"></circle>
|
|
|
|
<line x1="12" y1="1" x2="12" y2="3"></line>
|
|
|
|
<line x1="12" y1="21" x2="12" y2="23"></line>
|
|
|
|
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
|
|
|
|
<line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
|
|
|
|
<line x1="1" y1="12" x2="3" y2="12"></line>
|
|
|
|
<line x1="21" y1="12" x2="23" y2="12"></line>
|
|
|
|
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
|
|
|
|
<line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
|
|
|
|
</svg>
|
2021-02-12 06:18:04 +01:00
|
|
|
</button>
|
2021-03-30 14:37:36 +02:00
|
|
|
{{- end }}
|
2021-01-31 12:35:40 +01:00
|
|
|
|
2023-02-13 21:32:40 +01:00
|
|
|
{{/* LANGUAGE SELECTOR */}}
|
|
|
|
{{ if .Site.IsMultiLingual }}
|
|
|
|
{{/* set vars with page data */}}
|
|
|
|
{{ $currentLang := .Lang }}
|
|
|
|
{{ $allTranslations := .Translations }}
|
|
|
|
|
|
|
|
{{ $separator := or $label_text (not site.Params.disableThemeToggle)}}
|
|
|
|
|
|
|
|
<ul class="lang-switch">
|
|
|
|
{{ if $separator }}<li>|</li>{{ end }}
|
|
|
|
{{ range $anySiteLang := .Site.Home.AllTranslations }}
|
|
|
|
|
|
|
|
{{/* code here can only access page-related data via vars set above */}}
|
|
|
|
{{ if ne $currentLang $anySiteLang.Lang }}
|
|
|
|
{{ $translationLink := .Permalink }}
|
|
|
|
{{ range $translation := $allTranslations }}
|
|
|
|
{{ if eq $anySiteLang.Lang $translation.Lang }}
|
|
|
|
{{ $translationLink = $translation.Permalink }}
|
|
|
|
{{ end }}
|
|
|
|
{{ end }}
|
|
|
|
|
|
|
|
<li>
|
|
|
|
<a href="{{ $translationLink }}"
|
|
|
|
title="{{ .Language.Params.languageAltTitle | default (.Language.LanguageName ) | default (.Lang | upper) }}"
|
|
|
|
aria-label="{{ .Language.LanguageName | default (.Lang | upper) }}">
|
|
|
|
{{ if site.Params.DisplayFullLangName }}
|
|
|
|
{{ .Language.LanguageName }}
|
|
|
|
{{ else }}
|
|
|
|
{{ .Lang | upper }}
|
|
|
|
{{ end }}
|
|
|
|
</a>
|
|
|
|
</li>
|
|
|
|
{{ end }}
|
|
|
|
{{ end }}
|
|
|
|
</ul>
|
|
|
|
{{ end }}
|
2022-05-27 19:19:32 +02:00
|
|
|
</div>
|
2020-10-26 17:49:05 +01:00
|
|
|
</div>
|
2020-09-23 09:22:32 +02:00
|
|
|
{{- $currentPage := . }}
|
2021-04-29 15:32:59 +02:00
|
|
|
<ul id="menu">
|
2022-03-27 15:14:06 +02:00
|
|
|
{{- range site.Menus.main }}
|
2020-12-01 09:28:16 +01:00
|
|
|
{{- $menu_item_url := (cond (strings.HasSuffix .URL "/") .URL (printf "%s/" .URL) ) | absLangURL }}
|
2021-03-30 14:37:36 +02:00
|
|
|
{{- $page_url:= $currentPage.Permalink | absLangURL }}
|
2022-03-27 15:14:06 +02:00
|
|
|
{{- $is_search := eq (site.GetPage .KeyName).Layout `search` }}
|
2020-07-21 12:06:30 +02:00
|
|
|
<li>
|
2020-12-18 17:16:07 +01:00
|
|
|
<a href="{{ .URL | absLangURL }}" title="{{ .Title | default .Name }} {{- cond $is_search (" (Alt + /)" | safeHTMLAttr) ("" | safeHTMLAttr ) }}"
|
|
|
|
{{- cond $is_search (" accesskey=/" | safeHTMLAttr) ("" | safeHTMLAttr ) }}>
|
2020-12-01 09:28:16 +01:00
|
|
|
<span {{- if eq $menu_item_url $page_url }} class="active" {{- end }}>
|
2021-06-11 15:36:50 +02:00
|
|
|
{{- .Pre }}
|
2020-12-18 17:16:07 +01:00
|
|
|
{{- .Name -}}
|
2021-06-11 15:36:50 +02:00
|
|
|
{{ .Post -}}
|
2020-09-23 09:22:32 +02:00
|
|
|
</span>
|
2022-07-08 17:13:59 +02:00
|
|
|
{{- if (findRE "://" .URL) }}
|
2022-07-08 16:59:56 +02:00
|
|
|
<svg fill="none" shape-rendering="geometricPrecision" stroke="currentColor" stroke-linecap="round"
|
|
|
|
stroke-linejoin="round" stroke-width="2.5" viewBox="0 0 24 24" height="12" width="12">
|
|
|
|
<path d="M18 13v6a2 2 0 01-2 2H5a2 2 0 01-2-2V8a2 2 0 012-2h6"></path>
|
|
|
|
<path d="M15 3h6v6"></path>
|
|
|
|
<path d="M10 14L21 3"></path>
|
|
|
|
</svg>
|
|
|
|
{{- end }}
|
2020-09-20 15:33:43 +02:00
|
|
|
</a>
|
2020-07-21 12:06:30 +02:00
|
|
|
</li>
|
2021-03-30 14:37:36 +02:00
|
|
|
{{- end }}
|
2020-07-21 12:06:30 +02:00
|
|
|
</ul>
|
|
|
|
</nav>
|
2020-10-16 20:17:46 +02:00
|
|
|
</header>
|