{{ $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 align-center" {{ 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="gdoc-icon toggle gdoc_keyboard_arrow_left"> <use xlink:href="#gdoc_keyboard_arrow_left"></use> </svg> <svg class="gdoc-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 }}