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