2021-09-11 22:40:03 +00:00
2022-02-22 09:32:52 +00:00
{{- $showvisitedlinks := .Site.Params.showVisitedLinks }}
2022-11-17 21:12:18 +00:00
{{- $format := partial "get-format.hugo" . }}
{{- $outputFormat := partial "output-format.hugo" (dict "page" . "format" $format) }}
{{- $basename := "index" }}
{{- if ne $outputFormat "html" }}
2022-11-19 12:40:26 +00:00
{{- $basename = partial "BaseName.hugo" $format.RelPermalink }}
2022-11-17 21:12:18 +00:00
{{- end }}
2023-02-09 23:34:47 +00:00
< aside id = "sidebar" class = "default-animation{{ if $showvisitedlinks }} showVisitedLinks{{ end }}" >
2021-09-12 08:33:24 +00:00
{{- $currentNode := . }}
2022-02-13 08:45:11 +00:00
< div id = "header-wrapper" class = "default-animation" >
< div id = "header" class = "default-animation" >
2021-09-12 08:33:24 +00:00
{{ partial "logo.html" . }}
< / div >
{{- if not .Site.Params.disableSearch }}
2021-09-11 22:40:03 +00:00
{{ partial "search.html" . }}
{{- end }}
2021-09-12 08:33:24 +00:00
< / div >
{{- if not .Site.Params.disableLandingPageButton }}
2023-06-09 21:42:03 +00:00
{{- if (ne .Site.Params.landingPageURL nil) }}
{{- warnf "%q: UNSUPPORTED usage of 'landingPageURL' config parameter found, remove it and optionally overwrite the `logo.html` partial to provide a link if it should not point to the project's home page; see http://localhost:1313/basics/migration/#420-2022-06-23" .File.Path }}
{{- end }}
2022-02-13 08:45:11 +00:00
< div id = "homelinks" class = "default-animation" >
2021-08-26 20:19:52 +00:00
< ul >
2022-11-22 23:28:24 +00:00
< li > < a class = "padding" href = "{{ partial " relLangPrettyUglyURL . hugo " ( dict " to " . Site . Home ) } } " > {{ .Site.Params.landingPageName | default `< i class = "fas fa-home" > < / i > Home` | safeHTML }}< / a > < / li >
2021-09-12 08:33:24 +00:00
< / ul >
2021-09-13 17:23:38 +00:00
< / div >
2021-09-12 08:33:24 +00:00
{{- end }}
2022-02-14 19:34:18 +00:00
< div id = "content-wrapper" class = "highlightable" >
2023-02-24 22:29:33 +00:00
< ul class = "topics enlarge morespace{{ if .Site.Params.collapsibleMenu }} collapsible-menu{{ end }}" >
2021-09-27 20:03:10 +00:00
{{- $defaultOrdersectionsby := .Site.Params.ordersectionsby | default "weight" }}
{{- $currentOrdersectionsby := .Site.Home.Params.ordersectionsby | default $defaultOrdersectionsby }}
2021-09-23 20:27:58 +00:00
{{- $defaultAlwaysopen := .Site.Params.alwaysopen | default false }}
2021-09-27 20:03:10 +00:00
{{- if eq $currentOrdersectionsby "title" }}
2023-01-22 21:16:31 +00:00
{{- range .Site.Home.Pages.ByTitle }}
2022-04-02 13:29:34 +00:00
{{- template "section-tree-nav" dict "sect" . "currentnode" $currentNode "showvisitedlinks" $showvisitedlinks "alwaysopen" $defaultAlwaysopen }}
2021-09-11 22:40:03 +00:00
{{- end }}
{{- else }}
2023-01-22 21:16:31 +00:00
{{- range .Site.Home.Pages.ByWeight }}
2022-04-02 13:29:34 +00:00
{{- template "section-tree-nav" dict "sect" . "currentnode" $currentNode "showvisitedlinks" $showvisitedlinks "alwaysopen" $defaultAlwaysopen }}
2021-09-11 22:40:03 +00:00
{{- end }}
{{- end }}
2021-08-26 20:19:52 +00:00
< / ul >
2022-11-01 23:14:19 +00:00
{{- $page := . }}
2021-09-12 08:33:24 +00:00
{{- $disableShortcutsTitle := .Site.Params.DisableShortcutsTitle }}
{{- with .Site.Menus.shortcuts }}
2021-09-13 17:23:38 +00:00
< div id = "shortcuts" >
2023-02-24 22:29:33 +00:00
< div class = "nav-title padding" > {{ if not $disableShortcutsTitle }}{{ T "Shortcuts-Title" }}{{ end }}< / div >
< ul class = "space" >
2021-09-12 08:33:24 +00:00
{{- range sort . "Weight" }}
2022-11-01 23:14:19 +00:00
{{- $shortcut := . }}
{{- with $page.Site.GetPage (printf "%s" $shortcut.URL ) }}
{{- $to := . }}
2022-11-11 12:44:23 +00:00
< li > {{ $shortcut.Pre }}< a class = "padding" href = "{{ partial " relLangPrettyUglyURL . hugo " ( dict " to " $ to ) } } " > {{ safeHTML $shortcut.Name }}< / a > {{ $shortcut.Post }}< / li >
2022-11-01 23:14:19 +00:00
{{- else }}
2023-02-25 10:55:35 +00:00
< li > {{ $shortcut.Pre }}< a class = "padding" href = "{{ $shortcut.URL | relLangURL }}" > {{ safeHTML $shortcut.Name }}< / a > {{ $shortcut.Post }}< / li >
2022-11-01 23:14:19 +00:00
{{- end }}
2021-09-12 08:33:24 +00:00
{{- end }}
< / ul >
2021-09-13 17:23:38 +00:00
< / div >
2021-09-12 08:33:24 +00:00
{{- end }}
2022-02-21 22:11:04 +00:00
{{- $siteLanguages := .Site.Languages }}
{{- $showlangswitch := and .Site.IsMultiLingual (not .Site.Params.disableLanguageSwitchingButton) (gt (int (len $siteLanguages)) 1) }}
2023-02-04 21:33:27 +00:00
{{- $themevariants := slice | append (.Site.Params.themeVariant | default "auto" ) }}
2022-02-21 22:11:04 +00:00
{{- $showvariantswitch := gt (int (len $themevariants)) 1 }}
2022-02-12 22:14:33 +00:00
{{- $footer := partial "menu-footer.html" . }}
2022-02-15 19:28:29 +00:00
{{- $showfooter := not (eq 0 (int (len ($footer | plainify)))) }}
2023-02-24 22:29:33 +00:00
< div class = "padding footermargin footerLangSwitch footerVariantSwitch footerVisitedLinks footerFooter{{if $showlangswitch}} showLangSwitch{{end}}{{if $showvariantswitch}} showVariantSwitch{{end}}{{if $showvisitedlinks}} showVisitedLinks{{end}}{{if $showfooter}} showFooter{{end}}" > < / div >
< hr class = "padding default-animation footerLangSwitch footerVariantSwitch footerVisitedLinks footerFooter{{if $showlangswitch}} showLangSwitch{{end}}{{if $showvariantswitch}} showVariantSwitch{{end}}{{if $showvisitedlinks}} showVisitedLinks{{end}}{{if $showfooter}} showFooter{{end}}" >
2022-02-21 22:11:04 +00:00
< div id = "prefooter" class = "footerLangSwitch footerVariantSwitch footerVisitedLinks{{if $showlangswitch}} showLangSwitch{{end}}{{if $showvariantswitch}} showVariantSwitch{{end}}{{if $showvisitedlinks}} showVisitedLinks{{end}}" >
2021-09-12 08:33:24 +00:00
< ul >
2022-02-21 22:11:04 +00:00
< li id = "select-language-container" class = "footerLangSwitch{{if $showlangswitch}} showLangSwitch{{end}}" >
2022-10-02 20:32:51 +00:00
< div class = "padding select-container" >
2021-09-12 08:33:24 +00:00
< i class = "fas fa-language fa-fw" > < / i >
2022-02-13 09:58:00 +00:00
< span > < / span >
2021-09-12 08:33:24 +00:00
< div class = "select-style" >
2022-10-04 20:18:54 +00:00
< label class = "a11y-only" for = "select-language" > {{ T "Language" }}< / label >
2021-10-17 21:03:41 +00:00
< select id = "select-language" onchange = "location = baseUri + this.value;" >
2022-11-01 23:14:19 +00:00
{{- $page := .Page }}
2021-09-12 08:33:24 +00:00
{{- $pageLang := .Page.Lang }}
{{- range .Page.AllTranslations }}
{{- $translation := . }}
{{- range $siteLanguages }}
{{- if eq $translation.Lang .Lang }}
{{- if eq $pageLang .Lang }}
2022-11-17 21:12:18 +00:00
< option lang = "{{ $translation.Lang }}" id = "{{ $translation.Lang }}" value = "{{ partial " relLangPrettyUglyURL . hugo " ( dict " to " $ translation " basename " $ basename ) } } " selected > {{ .LanguageName }}< / option >
2021-09-12 08:33:24 +00:00
{{- else }}
2022-11-17 21:12:18 +00:00
< option lang = "{{ $translation.Lang }}" id = "{{ $translation.Lang }}" value = "{{ partial " relLangPrettyUglyURL . hugo " ( dict " to " $ translation " basename " $ basename ) } } " > {{ .LanguageName }}< / option >
2021-09-12 08:33:24 +00:00
{{- end }}
{{- end }}
{{- end }}
{{- end }}
< / select >
< / div >
2022-02-14 18:46:10 +00:00
< div class = "select-clear" > < / div >
2022-10-02 20:32:51 +00:00
< / div >
2021-09-12 08:33:24 +00:00
< / li >
2022-02-21 22:11:04 +00:00
< li id = "select-variant-container" class = "footerVariantSwitch{{if $showvariantswitch}} showVariantSwitch{{end}}" >
2022-10-02 20:32:51 +00:00
< div class = "padding select-container" >
2022-02-13 00:53:23 +00:00
< i class = "fas fa-paint-brush fa-fw" > < / i >
2022-02-13 09:58:00 +00:00
< span > < / span >
2022-02-13 00:53:23 +00:00
< div class = "select-style" >
2022-10-04 20:18:54 +00:00
< label class = "a11y-only" for = "select-variant" > {{ T "Theme" }}< / label >
2022-07-09 17:46:39 +00:00
< select id = "select-variant" onchange = "window.variants && variants.changeVariant( this.value );" >
2022-02-21 22:11:04 +00:00
{{- $firstvariant := true }}
2022-02-13 00:53:23 +00:00
{{- range $themevariants }}
{{- $themevariant := . }}
2022-02-20 23:01:23 +00:00
{{- $variantname := replaceRE "[-_]+" " " $themevariant }}
2022-02-21 22:11:04 +00:00
{{- if $firstvariant }}
{{- $firstvariant = false }}
2022-02-20 23:01:23 +00:00
< option id = "{{ $themevariant }}" value = "{{ $themevariant }}" selected > {{ $variantname | title }}< / option >
2022-02-13 00:53:23 +00:00
{{- else }}
2022-02-20 23:01:23 +00:00
< option id = "{{ $themevariant }}" value = "{{ $themevariant }}" > {{ $variantname | title }}< / option >
2022-02-13 00:53:23 +00:00
{{- end }}
{{- end }}
< / select >
< / div >
2022-02-14 18:46:10 +00:00
< div class = "select-clear" > < / div >
2022-10-02 20:32:51 +00:00
< / div >
2022-07-09 17:46:39 +00:00
< script > window . variants && variants . markSelectedVariant ( ) ; < / script >
2022-02-13 00:53:23 +00:00
< / li >
2023-02-25 17:58:05 +00:00
< li class = "footerVisitedLinks{{if $showvisitedlinks}} showVisitedLinks{{end}}" > < button class = "padding" onclick = "clearHistory();" > < i class = "fas fa-history fa-fw" > < / i > < span > < / span > {{ T "Clear-History" }}< / button > < / li >
2021-09-12 08:33:24 +00:00
< / ul >
2021-09-13 17:23:38 +00:00
< / div >
2022-02-21 22:11:04 +00:00
< div id = "footer" class = "footerFooter{{if $showfooter}} showFooter{{end}}" >
2022-02-12 22:14:33 +00:00
{{- $footer }}
2021-09-13 17:23:38 +00:00
< / div >
2021-09-12 08:33:24 +00:00
< / div >
2022-02-28 00:19:32 +00:00
< / aside >
2021-09-12 08:33:24 +00:00
{{- define "section-tree-nav" }}
2021-10-31 10:16:55 +00:00
{{- $currentNode := .currentnode }}
2022-04-03 10:12:12 +00:00
{{- $showvisitedlinks := .showvisitedlinks }}
2021-10-31 10:16:55 +00:00
{{- $alwaysopen := .alwaysopen }}
2022-04-03 10:12:12 +00:00
{{- $currentFileRelPermalink := .currentnode.RelPermalink }}
2021-09-12 08:33:24 +00:00
{{- with .sect }}
2022-06-06 19:11:44 +00:00
{{- $isSelf := eq .RelPermalink $currentFileRelPermalink }}
{{- $isAncestor := and (not $isSelf) (.IsAncestor $currentNode) }}
{{- $isActive := $isSelf }}
2022-04-03 10:12:12 +00:00
{{- $pages := .Pages }}
2021-11-15 22:41:51 +00:00
{{- $relearnIsHiddenFrom := index ($currentNode.Scratch.Get "relearnIsHiddenFrom") .RelPermalink }}
2022-06-06 19:11:44 +00:00
{{- $hidden := and $relearnIsHiddenFrom (not $.showhidden) (not $isSelf) (not $isAncestor) }}
2021-09-12 08:33:24 +00:00
{{- if $hidden }}
2022-11-12 19:58:43 +00:00
{{- else }}
2022-04-03 10:12:12 +00:00
{{- $numberOfVisibleChildren := 0 }}
{{- range $pages }}
2022-06-06 19:37:14 +00:00
{{- $isSelfSub := eq .RelPermalink $currentFileRelPermalink }}
{{- $isAncestorSub := and (not $isSelf) (.IsAncestor $currentNode) }}
2022-04-03 10:12:12 +00:00
{{- $relearnIsSubHiddenFrom := index ($currentNode.Scratch.Get "relearnIsHiddenFrom") .RelPermalink }}
2022-06-06 19:37:14 +00:00
{{- $subHidden := and $relearnIsSubHiddenFrom (not $.showhidden) (not $isSelfSub) (not $isAncestorSub) }}
2022-04-03 10:12:12 +00:00
{{- $numberOfVisibleChildren = add $numberOfVisibleChildren (int (not $subHidden)) }}
{{- end }}
2021-09-12 08:33:24 +00:00
{{- safeHTML .Params.head }}
2022-04-03 10:12:12 +00:00
{{- if $numberOfVisibleChildren }}
{{- $defaultOrdersectionsby := .Site.Params.ordersectionsby | default "weight" }}
{{- $currentOrdersectionsby := .Params.ordersectionsby | default $defaultOrdersectionsby }}
{{- $currentAlwaysopen := .Params.alwaysopen | default $alwaysopen }}
{{- $pageHash := md5 .Page }}
2022-06-06 19:11:44 +00:00
{{- $isOpen := or $currentAlwaysopen $isSelf $isAncestor }}
2023-02-24 22:29:33 +00:00
< li data-nav-id = "{{ partial " relLangPrettyUglyURL . hugo " ( dict " to " . ) } } " class = "{{if $isActive }}active {{end}}{{if (or $isSelf $isAncestor) }}parent {{end}}{{if $currentAlwaysopen}}alwaysopen{{end}}" > {{ if .Site.Params.collapsibleMenu }}< input type = "checkbox" id = "section-{{ $pageHash }}" aria-controls = "subsections-{{ $pageHash }}" { { if $ isOpen } } checked { { end } } > < label for = "section-{{ $pageHash }}" > < i class = "fas fa-chevron-down" > < / i > < i class = "fas fa-chevron-right" > < / i > < span class = "a11y-only" > {{ T "Submenu" ( or .Params.menuTitle .LinkTitle .Title ) }}< / span > < / label > {{ end }}< a class = "padding" href = "{{ partial " relLangPrettyUglyURL . hugo " ( dict " to " . ) } } " >
2022-11-12 19:58:43 +00:00
{{- partial "menu-pre.html" . }}{{ or .Params.menuTitle .LinkTitle .Title }}{{ partial "menu-post.html" . }}
2023-02-24 22:29:33 +00:00
{{- if $showvisitedlinks }}< i class = "fas fa-check read-icon" > < / i > {{ end }}< / a > < ul id = "subsections-{{ $pageHash }}" class = "morespace{{ if .Site.Params.collapsibleMenu }} collapsible-menu{{ end }}" >
2022-11-12 19:58:43 +00:00
{{- $defaultAlwaysopen := .Site.Params.alwaysopen | default true }}
{{- if eq $currentOrdersectionsby "title" }}
{{- range $pages.ByTitle }}
{{- template "section-tree-nav" dict "sect" . "currentnode" $currentNode "showvisitedlinks" $showvisitedlinks "alwaysopen" $defaultAlwaysopen }}
{{- end }}
2022-04-03 10:12:12 +00:00
{{- else }}
2022-11-12 19:58:43 +00:00
{{- range $pages.ByWeight }}
{{- template "section-tree-nav" dict "sect" . "currentnode" $currentNode "showvisitedlinks" $showvisitedlinks "alwaysopen" $defaultAlwaysopen }}
{{- end }}
{{- end }}< / ul > < / li >
{{- else }}
2023-02-24 22:29:33 +00:00
< li data-nav-id = "{{ partial " relLangPrettyUglyURL . hugo " ( dict " to " . ) } } " class = "{{if $isActive }}active{{end}}" > < a class = "padding" href = "{{ partial " relLangPrettyUglyURL . hugo " ( dict " to " . ) } } " >
2021-09-13 17:21:53 +00:00
{{- partial "menu-pre.html" . }}{{ or .Params.menuTitle .LinkTitle .Title }}{{ partial "menu-post.html" . }}
{{- if $showvisitedlinks }}< i class = "fas fa-check read-icon" > < / i > {{ end }}< / a > < / li >
2022-11-12 19:58:43 +00:00
{{- end }}
2021-09-12 08:33:24 +00:00
{{- end }}
{{- end }}
{{- end }}