mirror of
https://github.com/CaiJimmy/hugo-theme-stack.git
synced 2024-11-27 12:03:49 +01:00
5b0d6fdf7d
* fix(menu): <ol> containing other than <li>, <script> or <template> elements * fix(menu): add title to language select menu
103 lines
4.5 KiB
HTML
103 lines
4.5 KiB
HTML
<aside class="sidebar left-sidebar sticky {{ if .Site.Params.sidebar.compact }}compact{{ end }}">
|
|
<button class="hamburger hamburger--spin" type="button" id="toggle-menu" aria-label="{{ T `toggleMenu` }}">
|
|
<span class="hamburger-box">
|
|
<span class="hamburger-inner"></span>
|
|
</span>
|
|
</button>
|
|
|
|
<header>
|
|
{{ with .Site.Params.sidebar.avatar }}
|
|
{{ if (default true .enabled) }}
|
|
<figure class="site-avatar">
|
|
<a href="{{ .Site.BaseURL | relLangURL }}">
|
|
{{ if not .local }}
|
|
<img src="{{ .src }}" width="300" height="300" class="site-logo" loading="lazy" alt="Avatar">
|
|
{{ else }}
|
|
{{ $avatar := resources.Get (.src) }}
|
|
|
|
{{ if $avatar }}
|
|
{{ $avatarResized := $avatar.Resize "300x" }}
|
|
<img src="{{ $avatarResized.RelPermalink }}" width="{{ $avatarResized.Width }}"
|
|
height="{{ $avatarResized.Height }}" class="site-logo" loading="lazy" alt="Avatar">
|
|
{{ else }}
|
|
{{ errorf "Failed loading avatar from %q" . }}
|
|
{{ end }}
|
|
{{ end }}
|
|
</a>
|
|
{{ with $.Site.Params.sidebar.emoji }}
|
|
<span class="emoji">{{ . }}</span>
|
|
{{ end }}
|
|
</figure>
|
|
{{ end }}
|
|
{{ end }}
|
|
|
|
<div class="site-meta">
|
|
<h1 class="site-name"><a href="{{ .Site.BaseURL | relLangURL }}">{{ .Site.Title }}</a></h1>
|
|
<h2 class="site-description">{{ .Site.Params.sidebar.subtitle }}</h2>
|
|
</div>
|
|
</header>
|
|
|
|
{{- with .Site.Menus.social -}}
|
|
<ol class="social-menu">
|
|
{{ range . }}
|
|
<li>
|
|
<a
|
|
href='{{ .URL }}'
|
|
{{ if eq (default true .Params.newTab) true }}target="_blank"{{ end }}
|
|
{{ with .Name }}title="{{ . }}"{{ end }}
|
|
rel="me"
|
|
>
|
|
{{ $icon := default "link" .Params.Icon }}
|
|
{{ with $icon }}
|
|
{{ partial "helper/icon" . }}
|
|
{{ end }}
|
|
</a>
|
|
</li>
|
|
{{ end }}
|
|
</ol>
|
|
{{- end -}}
|
|
|
|
<ol class="menu" id="main-menu">
|
|
{{ $currentPage := . }}
|
|
{{ range .Site.Menus.main }}
|
|
{{ $active := or (eq $currentPage.Title .Name) (or ($currentPage.HasMenuCurrent "main" .) ($currentPage.IsMenuCurrent "main" .)) }}
|
|
<li {{ if $active }} class='current' {{ end }}>
|
|
<a href='{{ .URL }}' {{ if eq .Params.newTab true }}target="_blank"{{ end }}>
|
|
{{ $icon := default .Pre .Params.Icon }}
|
|
{{ if .Pre }}
|
|
{{ warnf "Menu item [%s] is using [pre] field to set icon, please use [params.icon] instead.\nMore information: https://docs.stack.jimmycai.com/configuration/custom-menu.html" .URL }}
|
|
{{ end }}
|
|
{{ with $icon }}
|
|
{{ partial "helper/icon" . }}
|
|
{{ end }}
|
|
<span>{{- .Name -}}</span>
|
|
</a>
|
|
</li>
|
|
{{ end }}
|
|
</ol>
|
|
<div class="menu-bottom-section">
|
|
<ol class="menu">
|
|
{{- $currentLanguageCode := .Language.Lang -}}
|
|
{{ if ( compare.Gt .Site.Home.AllTranslations.Len 1 ) }}
|
|
{{ with .Site.Home.AllTranslations }}
|
|
<li id="i18n-switch">
|
|
{{ partial "helper/icon" "language" }}
|
|
<select name="language" title="language" onchange="window.location.href = this.selectedOptions[0].value">
|
|
{{ range . }}
|
|
<option value="{{ .Permalink }}" {{ if eq .Language.Lang $currentLanguageCode }}selected{{ end }}>{{ .Language.LanguageName }}</option>
|
|
{{ end }}
|
|
</select>
|
|
</li>
|
|
{{ end }}
|
|
{{ end }}
|
|
|
|
{{ if (default false .Site.Params.colorScheme.toggle) }}
|
|
<li id="dark-mode-toggle">
|
|
{{ partial "helper/icon" "toggle-left" }}
|
|
{{ partial "helper/icon" "toggle-right" }}
|
|
<span>{{ T "darkMode" }}</span>
|
|
</li>
|
|
{{ end }}
|
|
</ol>
|
|
</div>
|
|
</aside>
|