100 lines
4.3 KiB
HTML
100 lines
4.3 KiB
HTML
|
{{ $showhidden := .Get "showhidden"}}
|
||
|
{{ $style := .Get "style" | default "li" }}
|
||
|
{{ $depth := .Get "depth" | default 1 }}
|
||
|
{{ $withDescription := .Get "description" | default false }}
|
||
|
{{ $sortTerm := .Get "sort" | default "Weight" }}
|
||
|
|
||
|
<ul class="children children-{{$style}}">
|
||
|
{{ .Scratch.Set "pages" .Page.Pages }}
|
||
|
|
||
|
{{if .Page.IsHome}}
|
||
|
<!-- Add pages that are in root dir -->
|
||
|
{{ $rootPage := where .Page.Pages "Dir" "" }}
|
||
|
{{ .Scratch.Set "pages" (.Page.Sections | union $rootPage)}}
|
||
|
{{else}}
|
||
|
{{ if .Page.Sections}}
|
||
|
{{ .Scratch.Set "pages" (.Page.Pages | union .Page.Sections) }}
|
||
|
{{end}}
|
||
|
{{end}}
|
||
|
|
||
|
{{ $pages := (.Scratch.Get "pages") }}
|
||
|
|
||
|
{{if eq $sortTerm "Weight"}}
|
||
|
{{template "childs" dict "menu" $pages.ByWeight "style" $style "showhidden" $showhidden "count" 1 "depth" $depth "pages" .Site.Pages "description" $withDescription "sortTerm" $sortTerm}}
|
||
|
{{else if eq $sortTerm "Name"}}
|
||
|
{{template "childs" dict "menu" $pages.ByTitle "style" $style "showhidden" $showhidden "count" 1 "depth" $depth "pages" .Site.Pages "description" $withDescription "sortTerm" $sortTerm}}
|
||
|
{{else if eq $sortTerm "PublishDate"}}
|
||
|
{{template "childs" dict "menu" $pages.ByPublishDate "style" $style "showhidden" $showhidden "count" 1 "depth" $depth "pages" .Site.Pages "description" $withDescription "sortTerm" $sortTerm}}
|
||
|
{{else if eq $sortTerm "Date"}}
|
||
|
{{template "childs" dict "menu" $pages.ByDate "style" $style "showhidden" $showhidden "count" 1 "depth" $depth "pages" .Site.Pages "description" $withDescription "sortTerm" $sortTerm}}
|
||
|
{{else if eq $sortTerm "Length"}}
|
||
|
{{template "childs" dict "menu" $pages.ByLength "style" $style "showhidden" $showhidden "count" 1 "depth" $depth "pages" .Site.Pages "description" $withDescription "sortTerm" $sortTerm}}
|
||
|
{{else}}
|
||
|
{{template "childs" dict "menu" $pages "style" $style "showhidden" $showhidden "count" 1 "depth" $depth "pages" .Site.Pages "description" $withDescription "sortTerm" $sortTerm}}
|
||
|
{{end}}
|
||
|
</ul>
|
||
|
|
||
|
{{.Inner|safeHTML}}
|
||
|
|
||
|
{{ define "childs" }}
|
||
|
{{ range .menu }}
|
||
|
{{ if and .Params.hidden (not $.showhidden) }}
|
||
|
{{else}}
|
||
|
{{if not .IsHome}}
|
||
|
{{if hasPrefix $.style "h"}}
|
||
|
{{$num := sub ( int (trim $.style "h") ) 1 }}
|
||
|
{{$numn := add $num $.count }}
|
||
|
|
||
|
{{(printf "<h%d>" $numn)|safeHTML}}
|
||
|
<a href="{{.URL}}" >{{ .Title }}</a>
|
||
|
{{(printf "</h%d>" $numn)|safeHTML}}
|
||
|
|
||
|
{{else}}
|
||
|
{{(printf "<%s>" $.style)|safeHTML}}
|
||
|
<a href="{{.URL}}" >{{ .Title }}</a>
|
||
|
{{(printf "</%s>" $.style)|safeHTML}}
|
||
|
{{end}}
|
||
|
|
||
|
{{if $.description}}
|
||
|
{{if .Description}}
|
||
|
<p>{{.Description}}</p>
|
||
|
{{else}}
|
||
|
<p>{{.Summary}}</p>
|
||
|
{{end}}
|
||
|
{{end}}
|
||
|
{{end}}
|
||
|
{{ if lt $.count $.depth}}
|
||
|
|
||
|
{{if eq $.style "li"}}
|
||
|
<ul>
|
||
|
{{end}}
|
||
|
|
||
|
{{ if .Sections}}
|
||
|
{{ .Scratch.Set "pages" (.Pages | union .Sections) }}
|
||
|
{{else}}
|
||
|
{{ .Scratch.Set "pages" .Pages }}
|
||
|
{{end}}
|
||
|
|
||
|
{{ $pages := (.Scratch.Get "pages") }}
|
||
|
|
||
|
{{if eq $.sortTerm "Weight"}}
|
||
|
{{template "childs" dict "menu" $pages.ByWeight "style" $.style "showhidden" $.showhidden "count" (add $.count 1) "depth" $.depth "pages" $.pages "description" $.description "sortTerm" $.sortTerm}}
|
||
|
{{else if eq $.sortTerm "Name"}}
|
||
|
{{template "childs" dict "menu" $pages.ByTitle "style" $.style "showhidden" $.showhidden "count" (add $.count 1) "depth" $.depth "pages" $.pages "description" $.description "sortTerm" $.sortTerm}}
|
||
|
{{else if eq $.sortTerm "PublishDate"}}
|
||
|
{{template "childs" dict "menu" $pages.ByPublishDate "style" $.style "showhidden" $.showhidden "count" (add $.count 1) "depth" $.depth "pages" $.pages "description" $.description "sortTerm" $.sortTerm}}
|
||
|
{{else if eq $.sortTerm "Date"}}
|
||
|
{{template "childs" dict "menu" $pages.ByDate "style" $.style "showhidden" $.showhidden "count" (add $.count 1) "depth" $.depth "pages" $.pages "description" $.description "sortTerm" $.sortTerm}}
|
||
|
{{else if eq $.sortTerm "Length"}}
|
||
|
{{template "childs" dict "menu" $pages.ByLength "style" $.style "showhidden" $.showhidden "count" (add $.count 1) "depth" $.depth "pages" $.pages "description" $.description "sortTerm" $.sortTerm}}
|
||
|
{{else}}
|
||
|
{{template "childs" dict "menu" $pages "style" $.style "showhidden" $.showhidden "count" (add $.count 1) "depth" $.depth "pages" $.pages "description" $.description "sortTerm" $.sortTerm}}
|
||
|
{{end}}
|
||
|
|
||
|
{{if eq $.style "li"}}
|
||
|
</ul>
|
||
|
{{end}}
|
||
|
{{end}}
|
||
|
{{end}}
|
||
|
{{end}}
|
||
|
{{end}}
|