{{- define "print" -}} {{- $currentPage := . -}} {{- $renderPage := "" -}} {{- $populateDict := dict -}} {{- $renderPaths := slice -}} {{- range $printItem := .Params.print -}} {{- with $printItem.populate -}} {{- range $popMap := . -}} {{- range $popKey, $popValue := $popMap -}} {{- $pages := index (index $populateDict $popKey) "pages" | default slice -}} {{- $populateDict = merge $populateDict (dict $popKey (dict "graph" $popValue "pages" $pages)) -}} {{- end -}} {{- end -}} {{- end -}} {{- $pages := slice -}} {{- $nestedPages := slice -}} {{- range $renderItem := $printItem.loop -}} {{- if gt (len $pages) 0 -}} {{- range $nestedPage := $pages -}} {{- with $p := site.GetPage $nestedPage -}} {{- $section := "" -}} {{- $nestedPages = $nestedPages|append $nestedPage -}} {{- with index $p.Params $renderItem -}} {{- range $page := index $p.Params $renderItem -}} {{- if hasPrefix $renderItem "_" -}} {{- $section = partial "GetSingularSectionName.html" (strings.TrimPrefix "_" $renderItem) -}} {{- else if strings.Contains $renderItem "_" -}} {{- $section = partial "GetSingularSectionName.html" (index (last 1 (split $renderItem "_")) 0) -}} {{- end -}} {{- $nestedPages = $nestedPages|append (printf "/%s/%s" $section $page) -}} {{- end -}} {{- end -}} {{- end -}} {{- end -}} {{- if gt (len $nestedPages) 0 -}} {{- $renderPaths = $renderPaths| append $nestedPages -}} {{- $nestedPages = slice -}} {{- $pages = slice -}} {{- end -}} {{- else if hasPrefix $renderItem "/" -}} {{- $renderPaths = $renderPaths|append $renderItem -}} {{- $renderPage = $renderItem -}} {{- else if $renderPage -}} {{- warnf "$renderPage: %s" $renderPage -}} {{- with isset $populateDict $renderItem -}} {{- with $page := site.GetPage $renderPage -}} {{- range $graph := index $page.Params (index (index $populateDict $renderItem) "graph") -}} {{- warnf "$renderItem: %s | $graph: %s" $renderItem $graph -}} {{- end -}} {{- end -}} {{- end -}} {{- with site.GetPage $renderPage -}} {{- $section := "" -}} {{- range $page := index .Params $renderItem -}} {{- if hasPrefix $renderItem "_" -}} {{- $section = partial "GetSingularSectionName.html" (strings.TrimPrefix "_" $renderItem) -}} {{- else if strings.Contains $renderItem "_" -}} {{- $section = partial "GetSingularSectionName.html" (index (last 1 (split $renderItem "_")) 0) -}} {{- end -}} {{- $pages = $pages|append (printf "/%s/%s" $section $page) -}} {{- end -}} {{- end -}} {{- $renderPage = "" -}} {{- end -}} {{- end -}} {{- $renderPaths = $renderPaths|append $pages -}} {{- end -}} {{- printf "%#v" $renderPaths -}} {{- end -}}