30 lines
1.2 KiB
HTML
30 lines
1.2 KiB
HTML
{{ $currentLevel := .Level }}
|
|
{{ $currentHeaderKey := printf "H_%d" $currentLevel }}
|
|
|
|
{{ if not (.Page.Store.Get $currentHeaderKey) }}
|
|
{{ .Page.Store.Set $currentHeaderKey 1 }}
|
|
{{ else }}
|
|
{{ .Page.Store.Set $currentHeaderKey (add 1 (.Page.Store.Get $currentHeaderKey)) }}
|
|
{{ end }}
|
|
|
|
{{ if .Page.Store.Get "previousLevel" }}
|
|
{{ $previousLevel := .Page.Store.Get "previousLevel" }}
|
|
{{ if gt $previousLevel $currentLevel }}
|
|
{{ range $header := slice 1 2 3 4 5 6 }}
|
|
{{ if gt $header $currentLevel }}
|
|
{{ $.Page.Store.Delete (printf "H_%d" $header) }}
|
|
{{ end }}
|
|
{{ end }}
|
|
{{ end }}
|
|
{{ end }}
|
|
|
|
{{ $counter := "" }}
|
|
{{ range $header := slice 1 2 3 4 5 6 }}
|
|
{{ if gt ($.Page.Store.Get (printf "H_%d" $header)) 0 }}
|
|
{{ $counter = printf "%s%d." $counter ($.Page.Store.Get (printf "H_%d" $header))}}
|
|
{{ end }}
|
|
{{end}}
|
|
|
|
<h{{ add 1 .Level }} id="{{ .Anchor | safeURL }}" class="hx css-{{ .Page.File.UniqueID }}-h{{ add 1 .Level }}"><span class="counters">{{ $counter }} </span>{{ .Text | safeHTML }}<a class="hpar" href="#{{ .Anchor | safeURL }}">¶</a> {{ .Page.Store.Get "level" }}</h{{ add 1 .Level }}>
|
|
|
|
{{ .Page.Store.Set "previousLevel" .Level }}
|