1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- {{ define "book-menu" }}
- {{- $first := false -}}
- {{- $current_node := .current_node -}}
- {{- $is_root := .is_root -}}
- {{- $order_by := .order_by -}}
- {{ $icon := "" }}
- {{ with .sect }}
- {{ if .IsSection }}
- {{ if not $is_root }}
- {{- $first = (eq $current_node.FirstSection.Type "book") | and (eq $current_node.FirstSection .) -}}
- {{ end }}
- {{- safeHTML $current_node.FirstSection.Params.pre_nav -}}
- {{/* Get section icon. */}}
- {{ $pack := or .Params.icon_pack "fas" }}
- {{ $pack_prefix := $pack }}
- {{ if in (slice "fab" "fas" "far" "fal") $pack }}
- {{ $pack_prefix = "fa" }}
- {{ end }}
- {{ with .Params.icon }}
- {{- if eq $pack "emoji" -}}
- {{- . | emojify -}}
- {{- else if eq $pack "custom" -}}
- {{- $svg_icon := resources.Get (printf "media/icons/%s.svg" .) -}}
- {{- if $svg_icon -}}
- {{ $icon = printf "<img src=\"%s\" alt=\"%s\" class=\"svg-icon svg-baseline pr-1\">" $svg_icon.RelPermalink . }}
- {{- end -}}
- {{- else -}}
- {{ $icon = printf "<i class=\"%s %s-%s pr-1\"></i>" $pack $pack_prefix . }}
- {{- end -}}
- {{ end }}
- {{ if $first }}
- <ul class="nav docs-sidenav">
- <li class="{{ if and .File $current_node.File | and (eq .File.UniqueID $current_node.File.UniqueID) }}active{{ end }}"><a href="{{ .RelPermalink }}">{{ safeHTML $icon }}{{ .LinkTitle | default .Title }}</a></li>
- {{else}}
- <div class="docs-toc-item">
- <a class="docs-toc-link {{ if and .File $current_node.File | and (eq .File.UniqueID $current_node.File.UniqueID) }} active{{ end }}" href="{{ .RelPermalink }}">{{ safeHTML $icon }}{{ .LinkTitle | default .Title }}</a>
- {{end}}
- {{- $page_count := (add (len .Pages) (len .Sections)) -}}
- {{ if ne $page_count 0 }}
- {{ if not $first }}
- <ul class="nav docs-sidenav">
- {{end}}
- {{- .Scratch.Set "pages" .Pages -}}
- {{- if .Sections -}}
- {{- .Scratch.Set "pages" (.Pages | union .Sections) -}}
- {{- end -}}
- {{- $pages := (.Scratch.Get "pages") -}}
- {{- if eq $order_by "title" -}}
- {{- range $pages.ByTitle -}}
- {{ template "book-menu" dict "sect" . "current_node" $current_node "order_by" $order_by }}
- {{- end -}}
- {{- else if eq $order_by "title_desc" -}}
- {{- range $pages.ByTitle.Reverse -}}
- {{ template "book-menu" dict "sect" . "current_node" $current_node "order_by" $order_by }}
- {{- end -}}
- {{- else -}}
- {{- range $pages.ByWeight -}}
- {{ template "book-menu" dict "sect" . "current_node" $current_node "order_by" $order_by }}
- {{- end -}}
- {{- end}}
- {{ if not $first }}
- </ul>
- {{end}}
- {{end}}
- {{ if not $first }}
- </div>
- {{else}}
- </ul>
- {{end}}
- {{- else -}}
- {{- if not .Params.Hidden -}}
- <li class="{{ if and .File $current_node.File | and (eq .File.UniqueID $current_node.File.UniqueID) }}active{{ end }}"><a href="{{ .RelPermalink }}">{{ safeHTML $icon }}{{ .LinkTitle | default .Title }}</a></li>
- {{- end -}}
- {{ end -}}
- {{- end -}}
- {{/* End define. */}}
- {{ end -}}
|