github.com/square/finch@v0.0.0-20240412205204-6530c03e2b96/docs/themes/hugo-geekdoc/layouts/partials/menu-filetree.html (about)

     1  {{ $current := . }}
     2  {{ template "tree-nav" dict "sect" .Site.Home.Sections "current" $current }}
     3  
     4  
     5  <!-- templates -->
     6  {{ define "tree-nav" }}
     7    {{ $current := .current }}
     8  
     9  
    10    <ul class="gdoc-nav__list">
    11      {{ $sortBy := (default "title" .current.Site.Params.GeekdocFileTreeSortBy | lower) }}
    12      {{ range .sect.GroupBy "Weight" }}
    13        {{ $rangeBy := .ByTitle }}
    14  
    15        {{ if eq $sortBy "title" }}
    16          {{ $rangeBy = .ByTitle }}
    17        {{ else if eq $sortBy "linktitle" }}
    18          {{ $rangeBy = .ByLinkTitle }}
    19        {{ else if eq $sortBy "date" }}
    20          {{ $rangeBy = .ByDate }}
    21        {{ else if eq $sortBy "publishdate" }}
    22          {{ $rangeBy = .ByPublishDate }}
    23        {{ else if eq $sortBy "expirydate" }}
    24          {{ $rangeBy = .ByExpiryDate }}
    25        {{ else if eq $sortBy "lastmod" }}
    26          {{ $rangeBy = .ByLastmod }}
    27        {{ else if eq $sortBy "title_reverse" }}
    28          {{ $rangeBy = .ByTitle.Reverse }}
    29        {{ else if eq $sortBy "linktitle_reverse" }}
    30          {{ $rangeBy = .ByLinkTitle.Reverse }}
    31        {{ else if eq $sortBy "date_reverse" }}
    32          {{ $rangeBy = .ByDate.Reverse }}
    33        {{ else if eq $sortBy "publishdate_reverse" }}
    34          {{ $rangeBy = .ByPublishDate.Reverse }}
    35        {{ else if eq $sortBy "expirydate_reverse" }}
    36          {{ $rangeBy = .ByExpiryDate.Reverse }}
    37        {{ else if eq $sortBy "lastmod_reverse" }}
    38          {{ $rangeBy = .ByLastmod.Reverse }}
    39        {{ end }}
    40  
    41        {{ range $rangeBy }}
    42          {{ if not .Params.GeekdocHidden }}
    43            {{ $numberOfPages := (add (len .Pages) (len .Sections)) }}
    44            {{ $isParent := and (ne $numberOfPages 0) (not .Params.GeekdocFlatSection) }}
    45            {{ $isCurrent := eq $current . }}
    46            {{ $isAncestor := .IsAncestor $current }}
    47            {{ $id := substr (sha1 .Permalink) 0 8 }}
    48            {{ $doCollapse := and $isParent (or .Params.GeekdocCollapseSection (default false .Site.Params.GeekdocCollapseAllSections)) }}
    49  
    50  
    51            <li>
    52              <input
    53                type="checkbox"
    54                {{ if $doCollapse }}
    55                  class="gdoc-nav__toggle" id="{{ printf "navtree-%s" $id }}"
    56                  {{ if or $isCurrent $isAncestor }}checked{{ end }}
    57                {{ else }}
    58                  class="hidden"
    59                {{ end }}
    60              />
    61              <label
    62                {{ if $doCollapse }}
    63                  for="{{ printf "navtree-%s" $id }}" class="flex justify-between align-center"
    64                {{ end }}
    65              >
    66                {{ if or .Content .Params.GeekdocFlatSection }}
    67                  <span class="flex">
    68                    <a
    69                      href="{{ .RelPermalink }}"
    70                      class="gdoc-nav__entry{{- if eq $current . }}
    71                        {{- printf " is-active" }}
    72                      {{- end }}"
    73                    >
    74                      {{ partial "utils/title" . }}
    75                    </a>
    76                  </span>
    77                {{ else }}
    78                  <span class="flex">{{ partial "utils/title" . }}</span>
    79                {{ end }}
    80                {{ if $doCollapse }}
    81                  <svg class="gdoc-icon toggle gdoc_keyboard_arrow_left">
    82                    <use xlink:href="#gdoc_keyboard_arrow_left"></use>
    83                  </svg>
    84                  <svg class="gdoc-icon toggle gdoc_keyboard_arrow_down">
    85                    <use xlink:href="#gdoc_keyboard_arrow_down"></use>
    86                  </svg>
    87                {{ end }}
    88              </label>
    89  
    90              {{ if $isParent }}
    91                {{ template "tree-nav" dict "sect" .Pages "current" $current }}
    92              {{ end }}
    93            </li>
    94          {{ end }}
    95        {{ end }}
    96      {{ end }}
    97    </ul>
    98  {{ end }}