Files

15 lines
560 B
HTML

{{/* alphabetical index of pages, grouped by first character of the title */}}
{{ $groups := dict }}
{{ range . }}
{{ $l := upper (substr .Title 0 1) }}
{{ if not (findRE `^[A-Z]$` $l) }}{{ $l = "#" }}{{ end }}
{{ $groups = merge $groups (dict $l ((index $groups $l | default slice) | append .)) }}
{{ end }}
<p class="letters">
{{ range $l, $_ := $groups }}<a href="#letter-{{ $l | urlize }}">{{ $l }}</a> {{ end }}
</p>
{{ range $l, $pages := $groups }}
<h2 id="letter-{{ $l | urlize }}">{{ $l }}</h2>
{{ partial "page-list.html" $pages }}
{{ end }}