{{ $page := .page }} {{ $page.Scratch.Set "needTOC" false }} {{ $page.Scratch.Set "seeAlso" false }} {{ $related := $page.Site.RegularPages.Related $page | first 6 }} {{ with $related }} {{ $page.Scratch.Set "seeAlso" true }} {{ end }} {{ if $page.Scratch.Get "skipSeeAlso" }} {{ $page.Scratch.Set "seeAlso" false }} {{ end }} {{ if $page.Params.skip_seealso }} {{ $page.Scratch.Set "seeAlso" false }} {{ end }} {{ if not $page.Params.skip_toc }} {{ $headers := findRE ".*?" $page.Content }} {{ $len := len $headers }} {{ if or (gt $len 0) ($page.Scratch.Get "seeAlso") }} {{ $page.Scratch.Set "needTOC" true }}
    {{ $page.Scratch.Set "level" 50 }} {{ range $h := $headers }} {{ $level := index (index (findRE ".*?" "$1" $h }} {{ $title := replaceRE "(.*?)" "$1" $h }} {{ $current := $page.Scratch.Get "level" | int }} {{ if gt $level $current }} {{ $delta := sub $level $current }} {{ range $index, $num := (seq $delta) }}
      {{ end }} {{ else if lt $level $current }} {{ $delta := sub $current $level }} {{ range $index, $num := (seq $delta) }}
    {{ end }} {{ end }}
  1. {{ $title | safeHTML }} {{ $page.Scratch.Set "level" $level }} {{ end }} {{ $delta := sub ($page.Scratch.Get "level") 50 }} {{ range $index, $num := (seq $delta) }}
{{ end }} {{ if $page.Scratch.Get "seeAlso" }} {{ with $related }}
  • {{ i18n "see_also" }}
  • {{ end }} {{ end }} {{ end }} {{ end }}