hugo-theme-relearn/layouts/partials/menu.html

167 lines
8.6 KiB
HTML
Raw Normal View History

{{ "<!-- hack to let hugo tell us how to get to the root when using relativeURLs, it needs to be called *url= for it to do its magic: -->" | safeHTML }}
{{ "<!-- https://github.com/gohugoio/hugo/blob/145b3fcce35fbac25c7033c91c1b7ae6d1179da8/transform/urlreplacers/absurlreplacer.go#L72 -->" | safeHTML }}
<script>
var index_url={{ "index.json" | relLangURL }};
var root_url="/";
var baseUri=root_url.replace(/\/$/, '');
</script>
2022-02-13 00:53:23 +00:00
<nav id="sidebar" class="default-animation {{ if $.Site.Params.showVisitedLinks }}showVisitedLinks{{ end }}">
2021-09-12 08:33:24 +00:00
{{- $currentNode := . }}
{{- $showvisitedlinks := .Site.Params.showVisitedLinks }}
<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 }}
{{ partial "search.html" . }}
{{- end }}
2021-09-12 08:33:24 +00:00
</div>
{{- if not .Site.Params.disableLandingPageButton }}
<div id="homelinks" class="default-animation">
<ul>
2021-09-12 08:33:24 +00:00
<li>
<a class="padding" href="{{ .Site.Params.landingPageURL | default "/" | relLangURL }}">{{ .Site.Params.landingPageName | default `<i class="fas fa-home"></i> Home` | safeHTML }}</a>
</li>
</ul>
2021-09-13 17:23:38 +00:00
</div>
2021-09-12 08:33:24 +00:00
{{- end }}
<div class="highlightable">
<ul class="topics">
{{- $defaultOrdersectionsby := .Site.Params.ordersectionsby | default "weight" }}
{{- $currentOrdersectionsby := .Site.Home.Params.ordersectionsby | default $defaultOrdersectionsby }}
{{- $defaultAlwaysopen := .Site.Params.alwaysopen | default false }}
{{- if eq $currentOrdersectionsby "title" }}
2021-09-12 08:33:24 +00:00
{{- range .Site.Home.Sections.ByTitle }}
{{- template "section-tree-nav" dict "sect" . "currentnode" $currentNode "showvisitedlinks" $showvisitedlinks "alwaysopen" $defaultAlwaysopen }}
{{- end }}
{{- else }}
2021-09-12 08:33:24 +00:00
{{- range .Site.Home.Sections.ByWeight }}
{{- template "section-tree-nav" dict "sect" . "currentnode" $currentNode "showvisitedlinks" $showvisitedlinks "alwaysopen" $defaultAlwaysopen }}
{{- end }}
{{- end }}
</ul>
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">
2021-09-13 17:24:37 +00:00
<div class="nav-title">{{ if not $disableShortcutsTitle }}{{ T "Shortcuts-Title" }}{{ end }}</div>
2021-09-12 08:33:24 +00:00
<ul>
{{- range sort . "Weight" }}
<li>{{ .Pre }}<a class="padding" href="{{ .URL | relLangURL }}">{{ safeHTML .Name }}</a>{{ .Post }}</li>
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 }}
<div class="footermargin"></div>
{{- $showlangswitch := and .Site.IsMultiLingual (not .Site.Params.disableLanguageSwitchingButton) }}
2022-02-13 00:53:23 +00:00
{{- $themevariants := slice | append .Site.Params.themeVariant }}
{{- $showthemeswitch := gt (int (len $themevariants)) 1 }}
{{- $footer := partial "menu-footer.html" . }}
{{- $showfooter := not (eq 0 (int (len $footer | plainify))) }}
{{- if or $showlangswitch $showvisitedlinks $showfooter }}
<hr/>
{{- end }}
2022-02-13 00:53:23 +00:00
{{- if or $showlangswitch $showthemeswitch $showvisitedlinks }}
2021-09-13 17:23:38 +00:00
<div id="prefooter">
2021-09-12 08:33:24 +00:00
<ul>
{{- if $showlangswitch }}
2021-09-12 08:33:24 +00:00
<li>
2022-02-12 22:49:33 +00:00
<a class="padding select-container">
2021-09-12 08:33:24 +00:00
<i class="fas fa-language fa-fw"></i>
<div class="select-style">
<select id="select-language" onchange="location = baseUri + this.value;">
2021-09-12 08:33:24 +00:00
{{- $siteLanguages := .Site.Languages }}
{{- $pageLang := .Page.Lang }}
{{- range .Page.AllTranslations }}
{{- $translation := . }}
{{- range $siteLanguages }}
{{- if eq $translation.Lang .Lang }}
{{- if eq $pageLang .Lang }}
<option id="{{ $translation.Language }}" value="{{ $translation.RelPermalink }}" selected>{{ .LanguageName }}</option>
2021-09-12 08:33:24 +00:00
{{- else }}
<option id="{{ $translation.Language }}" value="{{ $translation.RelPermalink }}">{{ .LanguageName }}</option>
2021-09-12 08:33:24 +00:00
{{- end }}
{{- end }}
{{- end }}
{{- end }}
</select>
</div>
</a>
</li>
{{- end }}
2022-02-13 00:53:23 +00:00
{{- if $showthemeswitch }}
<li>
<a class="padding select-container">
<i class="fas fa-paint-brush fa-fw"></i>
<div class="select-style">
<select id="select-theme" onchange="changeTheme( this.value );">
{{- $firsttheme := true }}
{{- range $themevariants }}
{{- $themevariant := . }}
{{- $themename := replaceRE "[-_]+" " " $themevariant }}
{{- if $firsttheme }}
{{- $firsttheme = false }}
<option id="{{ $themevariant }}" value="{{ $themevariant }}" selected>{{ $themename }}</option>
{{- else }}
<option id="{{ $themevariant }}" value="{{ $themevariant }}">{{ $themename }}</option>
{{- end }}
{{- end }}
</select>
<script>markTheme( getTheme() );</script>
2022-02-13 00:53:23 +00:00
</div>
</a>
</li>
{{- end }}
2021-09-12 08:33:24 +00:00
{{- if $showvisitedlinks }}
<li><a class="padding" href="#" data-clear-history-toggle=""><i class="fas fa-history fa-fw"></i> {{ T "Clear-History" }}</a></li>
{{- end }}
</ul>
2021-09-13 17:23:38 +00:00
</div>
2021-09-12 08:33:24 +00:00
{{- end }}
{{- if $showfooter }}
2021-09-13 17:23:38 +00:00
<div id="footer">
{{- $footer }}
2021-09-13 17:23:38 +00:00
</div>
{{- end }}
2021-09-12 08:33:24 +00:00
</div>
</nav>
{{- define "section-tree-nav" }}
{{- $showvisitedlinks := .showvisitedlinks }}
{{- $currentNode := .currentnode }}
{{- $currentFileRelPermalink := .currentnode.RelPermalink }}
{{- $alwaysopen := .alwaysopen }}
2021-09-12 08:33:24 +00:00
{{- with .sect }}
{{- $relearnIsHiddenFrom := index ($currentNode.Scratch.Get "relearnIsHiddenFrom") .RelPermalink }}
{{- $hidden := and $relearnIsHiddenFrom (not $.showhidden) (not (.IsAncestor $currentNode)) }}
2021-09-12 08:33:24 +00:00
{{- if $hidden }}
{{- else if .IsSection }}
{{- safeHTML .Params.head }}
{{- $defaultOrdersectionsby := .Site.Params.ordersectionsby | default "weight" }}
{{- $currentOrdersectionsby := .Params.ordersectionsby | default $defaultOrdersectionsby }}
2021-09-12 08:33:24 +00:00
{{- $currentAlwaysopen := .Params.alwaysopen | default $alwaysopen }}
<li data-nav-id="{{.RelPermalink}}" title="{{.Title}}" class="dd-item{{if eq .RelPermalink $currentFileRelPermalink}} active{{end}}{{if .IsAncestor $currentNode }} parent{{end}}{{if $currentAlwaysopen}} alwaysopen{{end}}"><a href="{{.RelPermalink}}">
{{- 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><ul>
{{- $pages := .Pages }}
{{- if .Page.IsHome }}
{{- $pages = .Sections }}
{{- else if .Page.Sections}}
{{- $pages = (.Pages | union .Sections) }}
2021-09-12 08:33:24 +00:00
{{- end }}
{{- $defaultAlwaysopen := .Site.Params.alwaysopen | default true }}
{{- if eq $currentOrdersectionsby "title" }}
2021-09-12 08:33:24 +00:00
{{- range $pages.ByTitle }}
{{- template "section-tree-nav" dict "sect" . "currentnode" $currentNode "showvisitedlinks" $showvisitedlinks "alwaysopen" $defaultAlwaysopen }}
2021-09-12 08:33:24 +00:00
{{- end }}
{{- else }}
{{- range $pages.ByWeight }}
{{- template "section-tree-nav" dict "sect" . "currentnode" $currentNode "showvisitedlinks" $showvisitedlinks "alwaysopen" $defaultAlwaysopen }}
2021-09-12 08:33:24 +00:00
{{- end }}
{{- end }}</ul></li>
2021-09-12 08:33:24 +00:00
{{- else }}
<li data-nav-id="{{.RelPermalink}}" title="{{.Title}}" class="dd-item{{if eq .RelPermalink $currentFileRelPermalink}} active{{end}}"><a href="{{.RelPermalink}}">
{{- 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>
2021-09-12 08:33:24 +00:00
{{- end }}
{{- end }}
{{- end }}