You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
32 lines
749 B
HTML
32 lines
749 B
HTML
{{ $page := . }}
|
|
|
|
{{ $result := $page.Content }}
|
|
|
|
{{ $matches := findRESubmatch "<h([1-6])[ >]" $result }}
|
|
|
|
{{ with $matches }}
|
|
{{ $max := 0 }}
|
|
|
|
{{ range . }}
|
|
{{ $level := index . 1 | int }}
|
|
|
|
{{ if gt $level $max }}
|
|
{{ $max = $level }}
|
|
{{ end }}
|
|
{{ end }}
|
|
|
|
{{ if and $max (lt $max 6) }}
|
|
{{ $shift := sub 6 $max }}
|
|
|
|
{{ range seq $max | collections.Reverse }}
|
|
{{ $old := . }}
|
|
{{ $new := add $old $shift }}
|
|
|
|
{{ $result = replaceRE (printf "<h%d([ >])" $old) (printf "<h%d$1" $new) $result }}
|
|
{{ $result = replaceRE (printf "</h%d>" $old) (printf "</h%d>" $new) $result }}
|
|
{{ end }}
|
|
{{ end }}
|
|
{{ end }}
|
|
|
|
{{ return $result }}
|