SandpointsTheme/layouts/print/single.html

69 lines
3.7 KiB
HTML

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