{{ $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 }} {{ $sections := .Scratch.Get "BookSections" }} {{/* If there is only one section to render then render its children, else render all sections */}} {{ if eq (len $sections) 1 }} {{ with index $sections 0 }} {{ template "book-section-children" (dict "Section" . "CurrentPage" $.Permalink) }} {{ end }} {{ else }} <ul> {{ range where $sections "Params.bookhidden" "!=" true }} {{ template "book-section" (dict "Section" . "CurrentPage" $.Permalink) }} {{ end }} </ul> {{ end }} {{ define "book-section" }} {{ with .Section }} <li {{ if .Params.BookFlatSection}} class="book-section-flat" {{ end }}> {{ if .Content }} {{ template "book-page-link" (dict "Page" . "CurrentPage" $.CurrentPage) }} {{ else }} <span>{{ partial "docs/title" . }}</span> {{ end }} {{ template "book-section-children" (dict "Section" . "CurrentPage" $.CurrentPage) }} </li> {{ end }} {{ end }} {{ define "book-section-children" }} {{ with .Section }} <ul> {{ range where .Pages "Params.bookhidden" "!=" "true" }} {{ if eq .Kind "section" }} {{ template "book-section" (dict "Section" . "CurrentPage" $.CurrentPage) }} {{ else if and (eq .Kind "page") .Content }} <li> {{- template "book-page-link" (dict "Page" . "CurrentPage" $.CurrentPage) -}} </li> {{ end }} {{ end }} </ul> {{ end }} {{ end }} {{ define "book-page-link" }} {{ with .Page }} <a href="{{ .RelPermalink }}" {{ if eq $.CurrentPage .Permalink }} class="active"{{ end }}> {{ partial "docs/title" . }} </a> {{ end }} {{ end }}