summaryrefslogtreecommitdiff
path: root/themes/PaperMod/layouts/partials/header.html
diff options
context:
space:
mode:
Diffstat (limited to 'themes/PaperMod/layouts/partials/header.html')
m---------themes/PaperMod0
-rw-r--r--themes/PaperMod/layouts/partials/header.html149
2 files changed, 149 insertions, 0 deletions
diff --git a/themes/PaperMod b/themes/PaperMod
deleted file mode 160000
-Subproject 3a0a4811cbc07c0bea09ef55b3c1bfb39b48cdd
diff --git a/themes/PaperMod/layouts/partials/header.html b/themes/PaperMod/layouts/partials/header.html
new file mode 100644
index 0000000..4a7291e
--- /dev/null
+++ b/themes/PaperMod/layouts/partials/header.html
@@ -0,0 +1,149 @@
+{{- /* theme-toggle is enabled */}}
+{{- if (not site.Params.disableThemeToggle) }}
+{{- /* theme is light */}}
+{{- if (eq site.Params.defaultTheme "light") }}
+<script>
+ if (localStorage.getItem("pref-theme") === "dark") {
+ document.body.classList.add('dark');
+ }
+
+</script>
+{{- /* theme is dark */}}
+{{- else if (eq site.Params.defaultTheme "dark") }}
+<script>
+ if (localStorage.getItem("pref-theme") === "light") {
+ document.body.classList.remove('dark')
+ }
+
+</script>
+{{- else }}
+{{- /* theme is auto */}}
+<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) {
+ document.body.classList.add('dark');
+ }
+
+</script>
+{{- end }}
+{{- /* theme-toggle is disabled and theme is auto */}}
+{{- else if (and (ne site.Params.defaultTheme "light") (ne site.Params.defaultTheme "dark"))}}
+<script>
+ if (window.matchMedia('(prefers-color-scheme: dark)').matches) {
+ document.body.classList.add('dark');
+ }
+
+</script>
+{{- end }}
+
+<header class="header">
+ <nav class="nav">
+ <div class="logo">
+ {{- $label_text := (site.Params.label.text | default site.Title) }}
+ {{- if site.Title }}
+ <a href="{{ "" | absLangURL }}" accesskey="h" title="{{ $label_text }} (Alt + H)">
+ {{- if site.Params.label.icon }}
+ {{- $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 }}
+ <img src="{{ $img.Permalink }}" alt="" aria-label="logo"
+ height="{{- site.Params.label.iconHeight | default "30" -}}">
+ {{- else }}
+ <img src="{{- site.Params.label.icon | absURL -}}" alt="" aria-label="logo"
+ height="{{- site.Params.label.iconHeight | default "30" -}}">
+ {{- end -}}
+ {{- else if hasPrefix site.Params.label.iconSVG "<svg" }}
+ {{ site.Params.label.iconSVG | safeHTML }}
+ {{- end -}}
+ {{- $label_text -}}
+ </a>
+ {{- end }}
+ <div class="logo-switches">
+ {{- if (not site.Params.disableThemeToggle) }}
+ <button id="theme-toggle" accesskey="t" title="(Alt + T)">
+ <svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
+ 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>
+ <svg id="sun" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
+ 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>
+ </button>
+ {{- end }}
+
+ {{- $lang := .Lang}}
+ {{- $separator := or $label_text (not site.Params.disableThemeToggle)}}
+ {{- with site.Home.AllTranslations }}
+ <ul class="lang-switch">
+ {{- if $separator }}<li>|</li>{{ end }}
+ {{- range . -}}
+ {{- if ne $lang .Lang }}
+ <li>
+ <a href="{{- .Permalink -}}" title="{{ .Language.Params.languageAltTitle | default (.Language.LanguageName | emojify) | default (.Lang | title) }}"
+ aria-label="{{ .Language.LanguageName | default (.Lang | title) }}">
+ {{- if (and site.Params.displayFullLangName (.Language.LanguageName)) }}
+ {{- .Language.LanguageName | emojify -}}
+ {{- else }}
+ {{- .Lang | title -}}
+ {{- end -}}
+ </a>
+ </li>
+ {{- end -}}
+ {{- end}}
+ </ul>
+ {{- end }}
+ </div>
+ </div>
+ {{- $currentPage := . }}
+ <ul id="menu">
+ {{- range site.Menus.main }}
+ {{- $menu_item_url := (cond (strings.HasSuffix .URL "/") .URL (printf "%s/" .URL) ) | absLangURL }}
+ {{- $page_url:= $currentPage.Permalink | absLangURL }}
+ {{- $is_search := eq (site.GetPage .KeyName).Layout `search` }}
+ <li>
+ <a href="{{ .URL | absLangURL }}" title="{{ .Title | default .Name }} {{- cond $is_search (" (Alt + /)" | safeHTMLAttr) ("" | safeHTMLAttr ) }}"
+ {{- cond $is_search (" accesskey=/" | safeHTMLAttr) ("" | safeHTMLAttr ) }}>
+ <span {{- if eq $menu_item_url $page_url }} class="active" {{- end }}>
+ {{- .Pre }}
+ {{- .Name -}}
+ {{ .Post -}}
+ </span>
+ {{- if (findRE "://" .URL) }}&nbsp;
+ <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 }}
+ </a>
+ </li>
+ {{- end }}
+ </ul>
+ </nav>
+</header>