{{- partial "anchored_headings.html" .Content -}} diff --git a/layouts/partials/toc.html b/layouts/partials/toc.html index c873bdbc..4d47b2f4 100644 --- a/layouts/partials/toc.html +++ b/layouts/partials/toc.html @@ -1,84 +1,93 @@ -{{- $headers := findRE "(.|\n])+?" .Content -}} -{{- $has_headers := ge (len $headers) 1 -}} -{{- if $has_headers -}} - -{{- $largest := 6 -}} -{{- range $headers -}} -{{- $headerLevel := index (findRE "[1-6]" . 1) 0 -}} -{{- $headerLevel := len (seq $headerLevel) -}} -{{- if lt $headerLevel $largest -}} -{{- $largest = $headerLevel -}} -{{- end -}} -{{- end -}} - -{{- $firstHeaderLevel := len (seq (index (findRE "[1-6]" (index $headers 0) 1) 0)) -}} - -{{- $.Scratch.Set "bareul" slice -}} - - - {{- end -}} - {{- end -}} - {{- end -}} - {{- end -}} -
  • - {{- $header | safeHTML -}} - {{- else -}} -
  • - {{- $header | safeHTML -}} - {{- end -}} - {{- end -}} - - {{- $firstHeaderLevel := $largest }} - {{- $lastHeaderLevel := len (seq (index (findRE "[1-6]" (index $headers (sub (len $headers) 1)) 1) 0)) -}} -
  • - {{- range seq (sub $lastHeaderLevel $firstHeaderLevel) -}} - {{- if in ($.Scratch.Get "bareul") (add . $firstHeaderLevel) -}} - -{{- else -}} - - -{{- end -}} -{{- end -}} - -{{- end -}} + {{- end -}} + {{- end -}} + + {{- end -}} +