Hugoでアーカイブページを作成する方法です。

環境

  • Hugo 0.53

アーカイブページ用のレイアウトを作成

layoutsディレクトリの下に、archives/single.htmlを作成します。
以下のコードは、記事の一覧を表示する部分の一例です。

<article class="post">
  <header class="post-header">
    <h1 class="posttitle">{{ .Title }}</h1>
  </header>
  <div class="post-body">
    <ul>
    {{ range (where .Site.Pages "Type" "post") }}
      <li><a href="{{ .Permalink }}" title="{{ .Title }}">{{ .Title }}</a></li>
    {{ end }}
    </ul>
  </div>
</article>

アーカイブページ用のMarkdownファイルを作成

続いて、アーカイブページ用のMarkdownファイルを作成し、

hugo new archives.md

Front-matterのtypeをarchivesにします。

---
title: "Archives"
type: archives
---

アーカイブページへのリンクを用意

サイトのメニューにアーカイブページのリンクを追加します。
Markdownファイルのファイル名がurlになるので、urlを/archives/以外にしたい場合は、Front-matterにurlを定義します。

参考サイト

ほぼそのままですが、このサイトを参考にしました。