toc.html 570 B

12345678910111213141516171819
  1. {{ $headings := findRE "<h2.*?>(.|\n])+?</h2>" .Content }}
  2. {{ if ge (len $headings) 2 }}
  3. <nav class="toc" aria-labelledby="toc-heading">
  4. <h2 id="toc-heading">Table of contents</h2>
  5. <ol>
  6. {{ range $headings }}
  7. <li>
  8. {{ $id := findRE "id=\".*\"" . }}
  9. {{ $id = index $id 0 }}
  10. {{ $id = strings.TrimPrefix "id=\"" $id }}
  11. {{ $id = strings.TrimSuffix "\"" $id }}
  12. <a href="#{{ $id }}">
  13. {{ . | htmlUnescape | plainify }}
  14. </a>
  15. </li>
  16. {{ end }}
  17. </ol>
  18. </nav>
  19. {{ end }}