github.com/choria-io/go-choria@v0.28.1-0.20240416190746-b3bf9c7d5a45/docs/themes/hugo-theme-relearn/layouts/partials/page-meta.hugo (about) 1 {{- $currentNode := . }} 2 {{- $forceContent := $currentNode.WordCount }} 3 {{- $currentNode.Scratch.Delete "relearnIsSelfFound" }} 4 {{- $currentNode.Scratch.Delete "relearnPrevPage" }} 5 {{- $currentNode.Scratch.Delete "relearnNextPage" }} 6 {{- $currentNode.Scratch.Delete "relearnIsHiddenNode" }}{{/* the node itself is flagged as hidden */}} 7 {{- $currentNode.Scratch.Delete "relearnIsHiddenStem" }}{{/* the node or one of its parents is flagged as hidden */}} 8 {{- $currentNode.Scratch.Delete "relearnIsHiddenFrom" }}{{/* the node is hidden from the current page */}} 9 {{- range $currentNode.Site.Params.relearn.dependencies }} 10 {{- $has := printf "has%s" .name }} 11 {{- $disable := printf "disable%s" .name }} 12 {{- $wants := or (and (ne (index $currentNode.Params $disable) nil) (not (index $currentNode.Params $disable))) (and (ne (index $currentNode.Site.Params $disable) nil) (not (index $currentNode.Site.Params $disable))) }} 13 {{- if $wants }} 14 {{- $currentNode.Store.Set $has true }} 15 {{- end }} 16 {{- end }} 17 18 {{- template "relearn-structure" dict "node" .Site.Home "currentnode" $currentNode "hiddenstem" false "hiddencurrent" false }} 19 {{- define "relearn-structure" }} 20 {{- $currentNode := .currentnode }} 21 {{- $isSelf := eq $currentNode .node }} 22 {{- $isDescendant := and (not $isSelf) (.node.IsDescendant $currentNode) }} 23 {{- $isAncestor := and (not $isSelf) (.node.IsAncestor $currentNode) }} 24 {{- $isOther := and (not $isDescendant) (not $isSelf) (not $isAncestor) }} 25 {{- $isChildren := eq $currentNode .node.Parent }} 26 {{- if $isSelf }} 27 {{- $currentNode.Scratch.Set "relearnIsSelfFound" true }} 28 {{- end }} 29 {{- $isSelfFound := eq ($currentNode.Scratch.Get "relearnIsSelfFound") true }} 30 {{- $isPreSelf := and (not $isSelfFound) (not $isSelf) }} 31 {{- $isPostSelf := and ($isSelfFound) (not $isSelf) }} 32 33 {{- $hidden_node := or (.node.Params.hidden) (eq .node.Title "") }} 34 {{- $hidden_stem := or $hidden_node .hiddenstem }} 35 {{- $hidden_current_stem := or $hidden_node .hiddencurrent }} 36 {{- $hidden_from_current := or (and $hidden_node (not $isAncestor) (not $isSelf) ) (and .hiddencurrent (or $isPreSelf $isPostSelf $isDescendant) ) }} 37 {{- if $isSelf }} 38 {{- $currentNode.Scratch.Set "relearnIsHiddenNode" $hidden_node }} 39 {{- $currentNode.Scratch.Set "relearnIsHiddenStem" $hidden_stem }} 40 {{- end }} 41 {{- $currentNode.Scratch.SetInMap "relearnIsHiddenFrom" .node.RelPermalink $hidden_current_stem }} 42 43 {{- if or (eq $currentNode.Kind "home") (eq $currentNode.Kind "section") (eq $currentNode.Kind "page") }} 44 {{- if not $hidden_from_current }} 45 {{- if and $isPreSelf .node.RelPermalink }} 46 {{- $currentNode.Scratch.Set "relearnPrevPage" .node }} 47 {{- else if and $isPostSelf .node.RelPermalink (eq ($currentNode.Scratch.Get "relearnNextPage") nil) }} 48 {{- $currentNode.Scratch.Set "relearnNextPage" .node }} 49 {{- end }} 50 {{- end }} 51 {{- end }} 52 53 {{- $pages := partial "pageHelper/pagesBy.html" (dict "page" .node "hidden" true) }} 54 {{- range $pages }} 55 {{- template "relearn-structure" dict "node" . "currentnode" $currentNode "hiddenstem" $hidden_stem "hiddencurrent" $hidden_from_current }} 56 {{- end }} 57 {{- end }}