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}} |