mirror of
https://github.com/thegeeklab/hugo-geekdoc.git
synced 2024-11-14 17:00:40 +00:00
100 lines
3.5 KiB
HTML
100 lines
3.5 KiB
HTML
{{ $current := . }}
|
|
{{ template "tree-nav" dict "sect" .Site.Home.Sections "current" $current }}
|
|
|
|
|
|
<!-- templates -->
|
|
{{ define "tree-nav" }}
|
|
{{ $current := .current }}
|
|
|
|
|
|
<ul class="gdoc-nav__list">
|
|
{{ $sortBy := (default "title" .current.Site.Params.GeekdocFileTreeSortBy | lower) }}
|
|
{{ range .sect.GroupBy "Weight" }}
|
|
{{ $rangeBy := .ByTitle }}
|
|
|
|
{{ if eq $sortBy "title" }}
|
|
{{ $rangeBy = .ByTitle }}
|
|
{{ else if eq $sortBy "linktitle" }}
|
|
{{ $rangeBy = .ByLinkTitle }}
|
|
{{ else if eq $sortBy "date" }}
|
|
{{ $rangeBy = .ByDate }}
|
|
{{ else if eq $sortBy "publishdate" }}
|
|
{{ $rangeBy = .ByPublishDate }}
|
|
{{ else if eq $sortBy "expirydate" }}
|
|
{{ $rangeBy = .ByExpiryDate }}
|
|
{{ else if eq $sortBy "lastmod" }}
|
|
{{ $rangeBy = .ByLastmod }}
|
|
{{ else if eq $sortBy "title_reverse" }}
|
|
{{ $rangeBy = .ByTitle.Reverse }}
|
|
{{ else if eq $sortBy "linktitle_reverse" }}
|
|
{{ $rangeBy = .ByLinkTitle.Reverse }}
|
|
{{ else if eq $sortBy "date_reverse" }}
|
|
{{ $rangeBy = .ByDate.Reverse }}
|
|
{{ else if eq $sortBy "publishdate_reverse" }}
|
|
{{ $rangeBy = .ByPublishDate.Reverse }}
|
|
{{ else if eq $sortBy "expirydate_reverse" }}
|
|
{{ $rangeBy = .ByExpiryDate.Reverse }}
|
|
{{ else if eq $sortBy "lastmod_reverse" }}
|
|
{{ $rangeBy = .ByLastmod.Reverse }}
|
|
{{ end }}
|
|
|
|
{{ range $rangeBy }}
|
|
{{ if not .Params.GeekdocHidden }}
|
|
|
|
{{ $numberOfPages := (add (len .Pages) (len .Sections)) }}
|
|
{{ $isParent := and (ne $numberOfPages 0) (not .Params.GeekdocFlatSection) }}
|
|
{{ $isCurrent := eq $current . }}
|
|
{{ $isAncestor := .IsAncestor $current }}
|
|
{{ $id := substr (sha1 .Permalink) 0 8 }}
|
|
{{ $doCollapse := and $isParent (or .Params.GeekdocCollapseSection (default false .Site.Params.GeekdocCollapseAllSections)) }}
|
|
|
|
|
|
<li>
|
|
<input
|
|
type="checkbox"
|
|
{{ if $doCollapse }}
|
|
class="gdoc-nav__toggle" id="{{ printf "navtree-%s" $id }}"
|
|
{{ if or $isCurrent $isAncestor }}checked{{ end }}
|
|
{{ else }}
|
|
class="hidden"
|
|
{{ end }}
|
|
/>
|
|
<label
|
|
{{ if $doCollapse }}
|
|
for="{{ printf "navtree-%s" $id }}" class="flex justify-between"
|
|
{{ end }}
|
|
>
|
|
{{ if or .Content .Params.GeekdocFlatSection }}
|
|
<span class="flex">
|
|
<a
|
|
href="{{ .RelPermalink }}"
|
|
class="gdoc-nav__entry{{- if eq $current . }}
|
|
{{- printf " is-active" }}
|
|
{{- end }}"
|
|
>
|
|
{{ partial "utils/title" . }}
|
|
</a>
|
|
</span>
|
|
{{ else }}
|
|
<span class="flex">{{ partial "utils/title" . }}</span>
|
|
{{ end }}
|
|
{{ if $doCollapse }}
|
|
<svg class="icon toggle gdoc_keyboard_arrow_left">
|
|
<use xlink:href="#gdoc_keyboard_arrow_left"></use>
|
|
</svg>
|
|
<svg class="icon toggle gdoc_keyboard_arrow_down">
|
|
<use xlink:href="#gdoc_keyboard_arrow_down"></use>
|
|
</svg>
|
|
{{ end }}
|
|
</label>
|
|
|
|
{{ if $isParent }}
|
|
{{ template "tree-nav" dict "sect" .Pages "current" $current }}
|
|
{{ end }}
|
|
</li>
|
|
{{ end }}
|
|
{{ end }}
|
|
{{ end }}
|
|
</ul>
|
|
{{ end }}
|