{{ $page := . }}

{{ $collections := slice }}
{{ $sections := where $page.Pages "Kind" "section" }}
{{ $pages := where $page.Pages "Kind" "in" (slice "page" "term") }}

{{ range $name, $taxonomy := cond $page.IsHome site.Taxonomies slice }}
    {{ if gt (len $taxonomy) 0 }}
        {{ $collections = $collections | append $taxonomy.Page }}
    {{ end }}
{{ end }}

{{ with $collections }}
    <div id="paige-collections">
        {{ if or $sections $pages }}
            <h2 class="h4 text-center" id="paige-collections-header">{{ i18n "paige_collections" }}</h2>
        {{ end }}

        {{ range . }}
            {{ partial "paige/page.html" . }}
        {{ end }}
    </div>
{{ end }}

{{ with $sections }}
    <div id="paige-sections">
        {{ if or $collections $pages }}
            <h2 class="h4 text-center" id="paige-sections-header">{{ i18n "paige_sections" }}</h2>
        {{ end }}

        {{ range . }}
            {{ partial "paige/page.html" . }}
        {{ end }}
    </div>
{{ end }}

{{ with $pages }}
    <div id="paige-pages">
        {{ if or $collections $sections }}
            <h2 class="h4 text-center" id="paige-pages-header">{{ i18n "paige_pages" }}</h2>
        {{ end }}

        {{ $pinned := where . "Params.paige.pin" true }}

        {{ range $pinned.ByPublishDate.Reverse }}
            {{ partial "paige/page.html" . }}
        {{ end }}

        {{ $pager := false }}
        {{ $unpinned := complement $pinned . }}
        {{ $weighted := where $unpinned "Weight" "gt" 0 }}

        {{ if $weighted }}
            {{ $pager = $page.Paginate $unpinned.ByWeight }}

            {{ range $pager.Pages }}
                {{ partial "paige/page.html" . }}
            {{ end }}
        {{ else }}
            {{ $pager = $page.Paginate ($unpinned.GroupByPublishDate "January 2006") }}

            {{ $pagegroups := $pager.PageGroups }}

            {{ range $pagegroups }}
                {{ if gt (len $pagegroups) 1 }}
                    <h3 class="h5 paige-date-header text-center">{{ .Key }}</h3>
                {{ end }}

                {{ range .Pages.ByWeight }}
                    {{ partial "paige/page.html" . }}
                {{ end }}
            {{ end }}
        {{ end }}
    </div>

    {{ if or $pager.HasPrev $pager.HasNext }}
        <div id="paige-pagination">
            <div class="d-flex justify-content-center">
                {{ partial "paige/pagination.html" $page }}
            </div>
        </div>
    {{ end }}
{{ end }}
