{{/*
Copyright (C) 2019  Josh Habdas <jhabdas@protonmail.com>

This file is part of After Dark.

After Dark is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

After Dark is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License
along with this program.  If not, see <https://www.gnu.org/licenses/>.
*/}}

{{ define "header" }}
  {{ partial "masthead.html" . }}
{{ end }}
{{ define "main" }}
  <header>
    <h1>{{ .Title }}</h1>
    {{ if .Description }}
      <blockquote itemprop="description">{{ .Description }}</blockquote>
    {{ end }}
  </header>
  {{ .Content }}
  <style>
    dl {
      display: grid;
      grid-template-columns: repeat(1, 1fr 2fr);
      grid-gap: 1rem;
    }
    dt {
      text-align: right;
    }
    dd {
      margin-inline-start: unset;
      margin-bottom: 2rem;
    }
    .hack article:first-of-type h2 {
      margin-top: 30px;
    }
    .hack h2 {
      position: sticky;
      top: 20px;
      padding: 5px;
      background-color: #1976d215;
      margin: -20px 0 30px;
    }
    .hack h2:before {
      content: ">> ";
    }
    .hack h2:after {
      content: " <<";
    }
    @media screen and (min-width: 30em) {
      dl {
        grid-template-columns: repeat(2, 1fr 2fr);
      }
      .hack h2 {
        text-align: center;
      }
    }
  </style>
  {{ $scratch := newScratch }}
  {{ range .Paginator.Pages }}
    {{ $scratch.Add "categories" .Params.categories | first 1 }}
  {{ end }}
  {{ $categories := $scratch.Get "categories" | uniq }}
  <nav class="alert alert-info">
    <b>Category:</b>
    {{ range $categories }}
      <a href="#{{ . | anchorize }}">{{ . | title }}</a>
    {{ end }}
  </nav>
  {{ range $categories }}
    <article>
      <h2 id="{{ . | anchorize }}">{{ . | title }}</h2>
      <dl>
        {{ range where $.Paginator.Pages "Params.categories" "intersect" (slice .)  }}
          <dt><a href="{{ .RelPermalink }}">{{ .Title }}</a>
          <dd>{{ .Description }}
        {{ end }}
      </dl>
    </article>
  {{ end }}
{{ end }}
{{ define "footer" }}
  <p>{{ partial "pagination.html" . }}</p>
  <small class="muted">
    {{ partial "copyright-notice.html" . }}
  </small>
{{ end }}
