diff options
Diffstat (limited to 'layouts/partials/docs/nav-tree.html')
-rw-r--r-- | layouts/partials/docs/nav-tree.html | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/layouts/partials/docs/nav-tree.html b/layouts/partials/docs/nav-tree.html new file mode 100644 index 0000000..6d0a2d5 --- /dev/null +++ b/layouts/partials/docs/nav-tree.html @@ -0,0 +1,64 @@ +{{ $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 }} + + {{ if eq (len $bookSections) 1 }} + {{ $singleSection := index $bookSections 0 }} + {{ .Scratch.Set "BookSections" $singleSection.Sections }} + {{ end }} + +{{ end }} + +<nav role="navigation"> + {{ partial "docs/nav-brand" . }} + {{ partial "docs/inject/nav-before" . }} + + <ul> + {{ range .Scratch.Get "BookSections" }} + {{ template "book-section" (dict "Section" . "CurrentPage" $.Permalink) }} + {{ end }} + </ul> + + {{ partial "docs/inject/nav-after" . }} +</nav> + +<!-- Single section of menu (recursive) --> +{{ define "book-section" }} + <li {{ if .Section.Params.booktopsection }}class="book-nav-section"{{ end }}> + {{ template "book-heading" .Section }} + <ul> + {{ range .Section.Sections }} + {{ template "book-section" (dict "Section" . "CurrentPage" $.CurrentPage) }} + {{ end }} + {{ range .Section.Pages }} + <li> + <a href="{{ .RelPermalink }}" class="{{ if eq $.CurrentPage .Permalink }}active{{ end }}"> + {{ default .Title (.File | humanize | title) }} + </a> + </li> + {{ end }} + </ul> + </li> +{{ end }} + +<!-- Menu Heading --> +{{ define "book-heading" }} + +{{ $sections := split (trim .Dir "/") "/" }} +{{ $title := index ($sections | last 1) 0 | humanize | title }} +{{ $title := default .Title $title }} + +{{ if .Content }} +<a href="{{ .RelPermalink }}"> + {{- $title -}} +</a> +{{ else }} +<a> + {{- $title -}} +</a> +{{ end }} + +{{ end }} |