{{- $context := .context }} {{- $showhidden := .showhidden | default false }} {{- if eq (printf "%T" $showhidden) "string" }} {{- $showhidden = (eq $showhidden "true") }} {{- end }} {{- $style := .style | default "li" }} {{- $depth := .depth | default 1 }} {{- $withDescription := .description | default false }} {{- if eq (printf "%T" $withDescription) "string" }} {{- $withDescription = (eq $withDescription "true") }} {{- end }} {{- $sortTerm := .sort | lower }} {{- $containerstyle := .containerstyle | default "ul" }} {{- if( and (not (eq $style "li") ) (eq $containerstyle "ul" ) ) }} {{- $containerstyle = "div" }} {{- end }} {{- with $context }} {{ (printf "<%s class=\"children children-%s children-sort-%s\">" $containerstyle $style $sortTerm)|safeHTML }} {{- $pages := .Page.Pages }} {{- if .Page.IsHome }} {{- $pages = .Page.Sections }} {{- else if .Page.Sections}} {{- $pages = (.Page.Pages | union .Page.Sections) }} {{- end }} {{- $defaultOrdersectionsby := .Site.Params.ordersectionsby | default "weight" }} {{- $currentOrdersectionsby := $sortTerm | default (.Page.Params.ordersectionsby | default $defaultOrdersectionsby) }} {{- if eq $currentOrdersectionsby "weight" }} {{- template "childs" dict "menu" $pages.ByWeight "containerstyle" $containerstyle "style" $style "showhidden" $showhidden "count" 1 "depth" $depth "pages" .Site.Pages "description" $withDescription "sortTerm" $sortTerm "context" . }} {{- else if or (eq $currentOrdersectionsby "name") (eq $currentOrdersectionsby "title") }} {{- template "childs" dict "menu" $pages.ByTitle "containerstyle" $containerstyle "style" $style "showhidden" $showhidden "count" 1 "depth" $depth "pages" .Site.Pages "description" $withDescription "sortTerm" $sortTerm "context" . }} {{- else if eq $currentOrdersectionsby "publishdate" }} {{- template "childs" dict "menu" $pages.ByPublishDate "containerstyle" $containerstyle "style" $style "showhidden" $showhidden "count" 1 "depth" $depth "pages" .Site.Pages "description" $withDescription "sortTerm" $sortTerm "context" . }} {{- else if eq $currentOrdersectionsby "date" }} {{- template "childs" dict "menu" $pages.ByDate "containerstyle" $containerstyle "style" $style "showhidden" $showhidden "count" 1 "depth" $depth "pages" .Site.Pages "description" $withDescription "sortTerm" $sortTerm "context" . }} {{- else if eq $currentOrdersectionsby "length" }} {{- template "childs" dict "menu" $pages.ByLength "containerstyle" $containerstyle "style" $style "showhidden" $showhidden "count" 1 "depth" $depth "pages" .Site.Pages "description" $withDescription "sortTerm" $sortTerm "context" . }} {{- else }} {{- template "childs" dict "menu" $pages "containerstyle" $containerstyle "style" $style "showhidden" $showhidden "count" 1 "depth" $depth "pages" .Site.Pages "description" $withDescription "sortTerm" $sortTerm "context" . }} {{- end }} {{ (printf "</%s>" $containerstyle)|safeHTML }} {{- end }} {{- define "childs" }} {{ $context := .context }} {{- range .menu }} {{- $hidden := and (or (.Params.hidden) (eq .Title "")) (not $.showhidden) }} {{- if not $hidden }} {{- 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="{{ partial "relLangPrettyUglyURL.hugo" (dict "to" .) }}">{{ .Title }}</a>{{ (printf "</h%d>" $numn)|safeHTML }} {{- if $.description }} {{- if .Description -}} <p>{{ .Description }}</p> {{- else -}} <p>{{ .Summary }}</p> {{- end }} {{- end }} {{- else if eq $.style "li" }} {{ (printf "<%s>" $.style)|safeHTML }}<a href="{{ partial "relLangPrettyUglyURL.hugo" (dict "to" .) }}">{{ .Title }}</a> {{- if $.description }} {{- if .Description -}} <p>{{ .Description }}</p> {{- else -}} <p>{{ .Summary }}</p> {{- end }} {{- end }} {{- else }} {{ (printf "<%s>" $.style)|safeHTML }}<a href="{{ partial "relLangPrettyUglyURL.hugo" (dict "to" .) }}">{{ .Title }}</a>{{ (printf "</%s>" $.style)|safeHTML }} {{- if $.description }} {{- if .Description -}} <p>{{ .Description }}</p> {{- else -}} <p>{{ .Summary }}</p> {{- end }} {{- end }} {{- end }} {{- end }} {{- if lt $.count $.depth }} {{- if eq $.style "li" }} {{- (printf "<%s>" $.containerstyle)|safeHTML }} {{- end }} {{- $pages := .Page.Pages }} {{- if .Page.IsHome }} {{- $pages = .Page.Sections }} {{- else if .Page.Sections}} {{- $pages = (.Page.Pages | union .Page.Sections) }} {{- end }} {{- $defaultOrdersectionsby := .Site.Params.ordersectionsby | default "weight" }} {{- $currentOrdersectionsby := $.sortTerm | default (.Page.Params.ordersectionsby | default $defaultOrdersectionsby) }} {{- if eq $currentOrdersectionsby "weight" }} {{- template "childs" dict "menu" $pages.ByWeight "containerstyle" $.containerstyle "style" $.style "showhidden" $.showhidden "count" (add $.count 1) "depth" $.depth "pages" $.pages "description" $.description "sortTerm" $.sortTerm "context" $context }} {{- else if or (eq $.currentOrdersectionsby "name") (eq $.currentOrdersectionsby "title") }} {{- template "childs" dict "menu" $pages.ByTitle "containerstyle" $.containerstyle "style" $.style "showhidden" $.showhidden "count" (add $.count 1) "depth" $.depth "pages" $.pages "description" $.description "sortTerm" $.sortTerm "context" $context }} {{- else if eq $.currentOrdersectionsby "publishdate" }} {{- template "childs" dict "menu" $pages.ByPublishDate "containerstyle" $.containerstyle "style" $.style "showhidden" $.showhidden "count" (add $.count 1) "depth" $.depth "pages" $.pages "description" $.description "sortTerm" $.sortTerm "context" $context }} {{- else if eq $.currentOrdersectionsby "date" }} {{- template "childs" dict "menu" $pages.ByDate "containerstyle" $.containerstyle "style" $.style "showhidden" $.showhidden "count" (add $.count 1) "depth" $.depth "pages" $.pages "description" $.description "sortTerm" $.sortTerm "context" $context }} {{- else if eq $.currentOrdersectionsby "length" }} {{- template "childs" dict "menu" $pages.ByLength "containerstyle" $.containerstyle "style" $.style "showhidden" $.showhidden "count" (add $.count 1) "depth" $.depth "pages" $.pages "description" $.description "sortTerm" $.sortTerm "context" $context }} {{- else }} {{- template "childs" dict "menu" $pages "containerstyle" $.containerstyle "style" $.style "showhidden" $.showhidden "count" (add $.count 1) "depth" $.depth "pages" $.pages "description" $.description "sortTerm" $.sortTerm "context" $context }} {{- end }} {{- if eq $.style "li" }} {{- (printf "</%s>" $.containerstyle)|safeHTML }} {{- end }} {{- end }} {{- if not .IsHome }} {{- if eq $.style "li" }} {{- (printf "</%s>" $.style)|safeHTML -}} {{- end }} {{- end }} {{- end }} {{- end }} {{- end }}