| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- <!-- Put configured sections list to .Scratch -->
- {{ template "book-get-root-section" . }}
- {{- range .Scratch.Get "BookSections" -}}
- {{ template "book-section" (dict "Section" . "CurrentPage" $.Permalink) }}
- {{- end -}}
- {{ define "book-section" }} <!-- Single section of menu (recursive) -->
- <ul {{ if .Expanded }}class="expanded"{{ end }}>
- {{ $list := .Section.Sections }}
- {{ $list = $list | append .Section.Pages }}
- {{ range ($list.ByParam "Title").ByParam "Weight" }}
- {{ if eq .Kind "section" }}
- <li class="section">
- {{ $expanded := in $.CurrentPage .Permalink }}
- <div class="section-link">
- <img src="{{ "svg/clr-icon-angle.svg" | relURL }}" class="section-icon {{ if $expanded}}expanded{{ end }}" />
- {{ template "book-page-link" (dict "Page" . "CurrentPage" $.CurrentPage) }}
- </div>
- {{ template "book-section" (dict "Section" . "CurrentPage" $.CurrentPage "Expanded" $expanded) }}
- </li>
- {{ else }}
- <li>
- {{ template "book-page-link" (dict "Page" . "CurrentPage" $.CurrentPage) }}
- </li>
- {{ end }}
- {{ end }}
- </ul>
- {{ end }}
- {{ define "book-page-link" }}
- {{- with .Page -}}
- <a href="{{ .RelPermalink }}" {{- if eq $.CurrentPage .Permalink }} class="active"{{ end }}>
- {{- template "title" . -}}
- </a>
- {{- end -}}
- {{ end }}
- {{ define "book-get-root-section" }}
- <!-- Complex logic to guess page title without .Title specified -->
- {{ $bookSection := default "docs" .Site.Params.BookSection }}
- {{ if eq $bookSection "*" }}
- {{ .Scratch.Set "BookSections" .Site.Sections }}
- {{ else }}
- {{ $bookSections := where .Site.Sections "Section" $bookSection }}
- {{ .Scratch.Set "BookSections" $bookSections }}
- {{ end }}
- {{ end }}
|