2024-08-28 22:32:21 +00:00
|
|
|
<!--
|
|
|
|
@@@
|
|
|
|
lang: {{- .Site.LanguagePrefix }}
|
|
|
|
path: {{- .Path }}
|
|
|
|
kind: {{- .Kind }} ["home" "page" "section" "taxonomy" "term"]
|
|
|
|
layout: {{- .Layout }}
|
|
|
|
type: {{- .Type }} [frontmatter:type section "page"]
|
|
|
|
section: {{- .Section }}
|
|
|
|
@@@
|
|
|
|
-->
|
2021-09-09 20:26:24 +00:00
|
|
|
{{- $currentNode := . }}
|
2023-10-11 21:58:25 +00:00
|
|
|
{{- $forceContent := $currentNode.WordCount }}
|
2021-11-15 22:41:51 +00:00
|
|
|
{{- $currentNode.Scratch.Delete "relearnIsSelfFound" }}
|
|
|
|
{{- $currentNode.Scratch.Delete "relearnPrevPage" }}
|
|
|
|
{{- $currentNode.Scratch.Delete "relearnNextPage" }}
|
2022-04-03 10:12:12 +00:00
|
|
|
{{- $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 */}}
|
2023-10-09 15:42:51 +00:00
|
|
|
{{- range $currentNode.Site.Params.relearn.dependencies }}
|
|
|
|
{{- $has := printf "has%s" .name }}
|
|
|
|
{{- $disable := printf "disable%s" .name }}
|
2023-10-12 21:32:17 +00:00
|
|
|
{{- $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))) }}
|
2023-10-09 15:42:51 +00:00
|
|
|
{{- if $wants }}
|
|
|
|
{{- $currentNode.Store.Set $has true }}
|
|
|
|
{{- end }}
|
2022-07-09 23:25:38 +00:00
|
|
|
{{- end }}
|
2023-10-12 21:08:58 +00:00
|
|
|
{{- template "relearn-structure" dict "node" .Site.Home "currentnode" $currentNode "hiddenstem" false "hiddencurrent" false }}
|
2024-07-21 21:40:57 +00:00
|
|
|
{{- if not ($currentNode.Scratch.Get "relearnIsSelfFound") }}
|
|
|
|
{{- if not $currentNode.IsHome }}
|
|
|
|
{{- $currentNode.Scratch.Set "relearnPrevPage" .Site.Home }}
|
|
|
|
{{- end }}
|
|
|
|
{{- end }}
|
|
|
|
|
2021-09-09 20:26:24 +00:00
|
|
|
{{- define "relearn-structure" }}
|
|
|
|
{{- $currentNode := .currentnode }}
|
2023-09-21 15:23:41 +00:00
|
|
|
{{- $isSelf := eq $currentNode .node }}
|
2021-09-09 20:26:24 +00:00
|
|
|
{{- $isDescendant := and (not $isSelf) (.node.IsDescendant $currentNode) }}
|
|
|
|
{{- $isAncestor := and (not $isSelf) (.node.IsAncestor $currentNode) }}
|
|
|
|
{{- $isOther := and (not $isDescendant) (not $isSelf) (not $isAncestor) }}
|
2023-09-21 15:23:41 +00:00
|
|
|
{{- $isChildren := eq $currentNode .node.Parent }}
|
2021-09-09 20:26:24 +00:00
|
|
|
{{- if $isSelf }}
|
|
|
|
{{- $currentNode.Scratch.Set "relearnIsSelfFound" true }}
|
2024-04-07 19:41:06 +00:00
|
|
|
{{- end }}
|
2021-09-09 20:26:24 +00:00
|
|
|
{{- $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 "") }}
|
2023-09-21 15:24:10 +00:00
|
|
|
{{- $hidden_stem := or $hidden_node .hiddenstem }}
|
|
|
|
{{- $hidden_current_stem := or $hidden_node .hiddencurrent }}
|
2021-09-09 20:26:24 +00:00
|
|
|
{{- $hidden_from_current := or (and $hidden_node (not $isAncestor) (not $isSelf) ) (and .hiddencurrent (or $isPreSelf $isPostSelf $isDescendant) ) }}
|
2022-07-15 19:36:41 +00:00
|
|
|
{{- if $isSelf }}
|
|
|
|
{{- $currentNode.Scratch.Set "relearnIsHiddenNode" $hidden_node }}
|
|
|
|
{{- $currentNode.Scratch.Set "relearnIsHiddenStem" $hidden_stem }}
|
2024-04-07 19:41:06 +00:00
|
|
|
{{- end }}
|
2021-11-22 11:10:35 +00:00
|
|
|
{{- $currentNode.Scratch.SetInMap "relearnIsHiddenFrom" .node.RelPermalink $hidden_current_stem }}
|
2021-09-09 20:26:24 +00:00
|
|
|
|
2024-04-07 19:41:06 +00:00
|
|
|
{{- if or (eq $currentNode.Kind "home") (eq $currentNode.Kind "section") (eq $currentNode.Kind "page") }}
|
|
|
|
{{- if not $hidden_from_current }}
|
|
|
|
{{- if and $isPreSelf .node.RelPermalink }}
|
|
|
|
{{- $currentNode.Scratch.Set "relearnPrevPage" .node }}
|
|
|
|
{{- else if and $isPostSelf .node.RelPermalink (eq ($currentNode.Scratch.Get "relearnNextPage") nil) }}
|
|
|
|
{{- $currentNode.Scratch.Set "relearnNextPage" .node }}
|
|
|
|
{{- end }}
|
|
|
|
{{- end }}
|
2021-09-09 20:26:24 +00:00
|
|
|
{{- end }}
|
|
|
|
|
2024-08-29 10:28:34 +00:00
|
|
|
{{- $pages := partial "_relearn/pages.gotmpl" (dict "page" .node) }}
|
2022-07-09 14:38:28 +00:00
|
|
|
{{- range $pages }}
|
2023-10-12 21:08:58 +00:00
|
|
|
{{- template "relearn-structure" dict "node" . "currentnode" $currentNode "hiddenstem" $hidden_stem "hiddencurrent" $hidden_from_current }}
|
2024-04-07 19:41:06 +00:00
|
|
|
{{- end }}
|
2021-09-09 20:26:24 +00:00
|
|
|
{{- end }}
|