|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112 |
- {{ $currentNode := . }}
-
- {{ $debug := (slice) }}
-
- {{ $pPath := "" }}
- {{ range $p := .Site.RegularPages }}
- {{ $pPath = printf "/%s" $p.File }}
- {{ $pageDir := "" }}
- {{ with $p.File }}
- {{ $pageDir = (substr .Dir 0 -1)}}
- {{ end }}
-
- {{ $gp := $.GetPage $pPath }}
- {{ $gpPath := printf "/%s" $gp.File }}
- {{ range $k, $v := $gp.Params }}
- {{ with in $k "has_" }}
- {{ $s := index (split $k "has_") 1 }}
- {{ range $sin,$plur := $currentNode.Site.Data.sandpointsnamegraph }}
- {{ if eq $s $plur }}
- {{ range index $gp.Params $k }}
- {{ $cp := $.GetPage (printf "/%s/%s" $sin .) }}
- {{ $cpPath := printf "/%s" $cp.File }}
- {{ range $kcp, $vcp := $cp.Params }}
- {{ with in $kcp "has_" }}
- {{ $scp := index (split $kcp "has_") 1 }}
- {{ range $sincp,$plurcp := $currentNode.Site.Data.sandpointsnamegraph }}
- {{ if eq $scp $plurcp }}
-
- {{ $.Scratch.SetInMap $gpPath "depth" "core" }}
- {{ $.Scratch.SetInMap $gpPath "child_depth" "mantle" }}
- {{ $.Scratch.SetInMap $gpPath "has" $s }}
-
- {{ with $gp.File }}
- {{ $core := substr .Dir 0 -1 }}
- {{ $.Scratch.SetInMap $gpPath "core" $core }}
- {{ $.Scratch.SetInMap $cpPath "core" $core }}
- {{ end }}
-
- {{ with $cp.File }}
- {{ $mantle := substr .Dir 0 -1 }}
- {{ $.Scratch.SetInMap $gpPath "mantle" $mantle }}
- {{ $.Scratch.SetInMap $cpPath "mantle" $mantle }}
- {{ end }}
-
- {{ with $.Scratch.Get $gpPath }}
- {{ if .has_children }}
- {{ $hasChildren := index . "has_children" | append $cp }}
- {{ $.Scratch.SetInMap $gpPath "has_children" (uniq $hasChildren) }}
- {{ else }}
- {{ $.Scratch.SetInMap $gpPath "has_children" (slice $cp) }}
- {{ end }}
- {{ end }}
-
- {{ $.Scratch.SetInMap $cpPath "depth" "mantle" }}
- {{ $.Scratch.SetInMap $cpPath "child_depth" "crust" }}
- {{ $.Scratch.SetInMap $cpPath "plural" $plur }}
- {{ $.Scratch.SetInMap $cpPath "has" $scp }}
-
- {{ range index $cp.Params $kcp }}
- {{ $gcp := $.GetPage (printf "/%s/%s" $sincp .) }}
- {{ $gcpPath := printf "/%s" $gcp.File }}
-
- {{ with $.Scratch.Get $cpPath }}
- {{ if .has_children }}
- {{ $hasGChildren := index . "has_children" | append $gcp }}
- {{ $.Scratch.SetInMap $cpPath "has_children" (uniq $hasGChildren) }}
- {{ else }}
- {{ $.Scratch.SetInMap $cpPath "has_children" (slice $gcp) }}
- {{ end }}
-
- {{ if .is_in }}
- {{ $isincore := index . "is_in" | append $gp}}
- {{ $.Scratch.SetInMap $cpPath "is_in" (uniq $isincore) }}
- {{ else }}
- {{ $.Scratch.SetInMap $cpPath "is_in" (slice $gp) }}
- {{ end }}
- {{ end }}
-
- {{ $.Scratch.SetInMap $gcpPath "depth" "crust" }}
- {{ $.Scratch.SetInMap $gcpPath "plural" $plurcp }}
- {{ $.Scratch.SetInMap $gcpPath "in" (slice $sin $plur) }}
-
- {{ with $gcp.File }}
- {{ $crust := substr .Dir 0 -1 }}
- {{ $.Scratch.SetInMap $gpPath "crust" $crust }}
- {{ $.Scratch.SetInMap $cpPath "crust" $crust }}
- {{ $.Scratch.SetInMap $gcpPath "crust" $crust }}
- {{ end }}
-
- {{ with $.Scratch.Get $gcpPath }}
- {{ if .is_in }}
- {{ $isinmantle := index . "is_in" | append $cp}}
- {{ $.Scratch.SetInMap $gcpPath "is_in" (uniq $isinmantle) }}
- {{ else }}
- {{ $.Scratch.SetInMap $gcpPath "is_in" (slice $cp) }}
- {{ end }}
- {{ end }}
- {{ end }}
- {{ end }}
- {{ end }}
- {{ end }}
- {{ end }}
- {{ end }}
- {{ end }}
- {{ end }}
- {{ end }}
- {{ end }}
-
- {{ $.Scratch.SetInMap $pPath "debug" (printf "%#v" $debug) }}
- {{ end }}
-
- {{ return $.Scratch }}
|