{{- $sortTerm := .Get "sort" | default "Weight" }} {{- .Scratch.Set "current" .Page }} {{- if (.Get "page")}} {{- with .Site.GetPage "section" (.Get "page") }} {{- $.Scratch.Set "current" . }} {{- end }} {{- end }} {{- $cpage := (.Scratch.Get "current") }} {{- $brief := "" }} {{- if $cpage.Params.brief}} {{- $.Scratch.Set "brief" $cpage.Params.brief }} {{- end }} {{- if (.Get "brief")}} {{- $.Scratch.Set "brief" (.Get "brief") }} {{- end }} {{- $brief := (.Scratch.Get "brief") }}
{{ if ne .Page.Title $cpage.Title }} {{ $cpage.Title }} {{ if $brief }}{{ $brief }}{{ end }}

{{ end }} {{- .Scratch.Set "pages" $cpage.Pages }} {{- if $cpage.Sections}} {{- .Scratch.Set "pages" ($cpage.Pages | union $cpage.Sections) }} {{- end}} {{- $pages := (.Scratch.Get "pages") }} {{- if eq $sortTerm "Weight"}} {{- template "childs" dict "menu" $pages.ByWeight "pages" .Site.Pages "sortTerm" $sortTerm "brief" (.Get "childBriefs")}} {{end}}
{{ define "childs" }} {{ $cBrief := .brief }} {{- range .menu }} {{ .Title }} {{ if (and $cBrief .Params.brief) }}{{ .Params.brief }}{{end}} {{ end }} {{ end }}