68 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			68 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| {{- $currentNode := . }}
 | |
| {{- $currentNode.Scratch.Delete "relearnIsSelfFound"  }}
 | |
| {{- $currentNode.Scratch.Delete "relearnPrevPage"     }}
 | |
| {{- $currentNode.Scratch.Delete "relearnNextPage"     }}
 | |
| {{- $currentNode.Scratch.Delete "relearnSubPages"     }}
 | |
| {{- $currentNode.Scratch.Delete "relearnIsHiddenNode" }}{{/* the node itself is flagged as hidden */}}
 | |
| {{- $currentNode.Scratch.Delete "relearnIsHiddenStem" }}{{/* the node or one of its parents is flagged as hidden */}}
 | |
| {{- $currentNode.Scratch.Delete "relearnIsHiddenFrom" }}{{/* the node is hidden from the current page */}}
 | |
| {{- $wantsMermaid := or (and (ne $currentNode.Params.disableMermaid nil) (not $currentNode.Params.disableMermaid)) (and (ne .Site.Params.disableMermaid nil) (not .Site.Params.disableMermaid)) }}
 | |
| {{- if $wantsMermaid }}
 | |
| 	{{- $currentNode.Page.Store.Set "htmlHasMermaid" true }}
 | |
| {{- end }}
 | |
| {{- $wantsSwagger := or (and (ne .Params.disableSwagger nil) (not .Params.disableSwagger)) (and (ne .Site.Params.disableSwagger nil) (not .Site.Params.disableSwagger)) }}
 | |
| {{- if $wantsSwagger }}
 | |
| 	{{- $currentNode.Page.Store.Set "htmlHasSwagger" true }}
 | |
| {{- end }}
 | |
| {{- template "relearn-structure" dict "node" .Site.Home "currentnode" $currentNode "hiddenstem" false "hiddencurrent" false "defaultOrdersectionsby" .Site.Params.ordersectionsby }}
 | |
| {{- define "relearn-structure" }}
 | |
| 	{{- $currentNode := .currentnode }}
 | |
| 	{{- $isSelf := eq $currentNode.RelPermalink .node.RelPermalink }}
 | |
| 	{{- $isDescendant := and (not $isSelf) (.node.IsDescendant $currentNode) }}
 | |
| 	{{- $isAncestor := and (not $isSelf) (.node.IsAncestor $currentNode) }}
 | |
| 	{{- $isOther := and (not $isDescendant) (not $isSelf) (not $isAncestor) }}
 | |
| 
 | |
| 	{{- if $isSelf }}
 | |
| 		{{- $currentNode.Scratch.Set "relearnIsSelfFound" true }}
 | |
| 	{{- end}}
 | |
| 	{{- $isSelfFound := eq ($currentNode.Scratch.Get "relearnIsSelfFound") true }}
 | |
| 	{{- $isPreSelf := and (not $isSelfFound) (not $isSelf) }}
 | |
| 	{{- $isPostSelf := and ($isSelfFound) (not $isSelf) }}
 | |
| 
 | |
| 	{{- $hidden_node := or (.node.Params.hidden) (eq .node.Title "") }}
 | |
| 	{{- $hidden_stem:= or $hidden_node .hiddenstem }}
 | |
| 	{{- $hidden_current_stem:= or $hidden_node .hiddencurrent }}
 | |
| 	{{- $hidden_from_current := or (and $hidden_node (not $isAncestor) (not $isSelf) ) (and .hiddencurrent (or $isPreSelf $isPostSelf $isDescendant) ) }}
 | |
| 	{{- $currentNode.Scratch.SetInMap "relearnIsHiddenNode" .node.RelPermalink $hidden_node }}
 | |
| 	{{- $currentNode.Scratch.SetInMap "relearnIsHiddenStem" .node.RelPermalink $hidden_stem }}
 | |
| 	{{- $currentNode.Scratch.SetInMap "relearnIsHiddenFrom" .node.RelPermalink $hidden_current_stem }}
 | |
| 
 | |
| 	{{- if not $hidden_from_current }}
 | |
| 		{{- if $isPreSelf }}
 | |
| 			{{- $currentNode.Scratch.Set "relearnPrevPage" .node }}
 | |
| 		{{- else if and $isPostSelf (eq ($currentNode.Scratch.Get "relearnNextPage") nil) }}
 | |
| 			{{- $currentNode.Scratch.Set "relearnNextPage" .node }}
 | |
| 		{{- end}}
 | |
| 	{{- end }}
 | |
| 
 | |
| 	{{- $currentNode.Scratch.Set "relearnSubPages" .node.Pages }}
 | |
| 	{{- if .node.IsHome }}
 | |
| 		{{- $currentNode.Scratch.Set "relearnSubPages" .node.Sections }}
 | |
| 	{{- else if .node.Sections }}
 | |
| 		{{- $currentNode.Scratch.Set "relearnSubPages" (.node.Pages | union .node.Sections) }}
 | |
| 	{{- end }}
 | |
| 	{{- $pages := ($currentNode.Scratch.Get "relearnSubPages") }}
 | |
| 
 | |
| 	{{- $defaultOrdersectionsby := .defaultOrdersectionsby }}
 | |
| 	{{- $currentOrdersectionsby := .node.Params.ordersectionsby | default $defaultOrdersectionsby }}
 | |
| 
 | |
| 	{{- if eq $currentOrdersectionsby "title"}}
 | |
| 		{{- range $pages.ByTitle  }}
 | |
| 			{{- template "relearn-structure" dict "node" . "currentnode" $currentNode "hiddenstem" $hidden_stem "hiddencurrent" $hidden_from_current "defaultOrdersectionsby" $defaultOrdersectionsby }}
 | |
| 		{{- end}}
 | |
| 	{{- else}}
 | |
| 		{{- range $pages.ByWeight  }}
 | |
| 			{{- template "relearn-structure" dict "node" . "currentnode" $currentNode "hiddenstem" $hidden_stem "hiddencurrent" $hidden_from_current "defaultOrdersectionsby" $defaultOrdersectionsby }}
 | |
| 		{{- end}}
 | |
| 	{{- end }}
 | |
| {{- end }} |