为hugo添加归档页面

目录

前言

最近在学习研究hugo静态站点生成,发现mainload主题是没有提供按照年月归档的功能。

本文尝试添加一个归档页面。记录实现的过程。

新建archives文档

假设你的文章都在content/posts文件夹下,你可以用命名新建文件:

hugo new posts/archives.md

为该文件添加以下内容

---
title: "文章归档"
layout: archives
hidden: true
type: posts
summary: 历史文章按照年月归档.
url: /archives/
---

新建archives模板

在你当前主题文件夹下添加archives.html模板。以我自己为例:

  1. 在文件夹themes/mainload/layouts/_default/archives.html,内容直接复制single.html。
  2. 找到{{ .Content }} 这段内容替换为下面的内容:
{{ range (.Site.RegularPages.GroupByDate "2006") }}
    <h3>{{ .Key }}</h3>

        <ul class="archive-list">
        {{ range (where .Pages "Type" "post") }}
            <li>
            {{ .PublishDate.Format "2006-01-02" }}
            ->
            <a href="{{ .RelPermalink }}">{{ .Title }}</a>
            </li>
        {{ end }}
    </ul>
{{ end }}
# 并删除下面的分页组件
{{ partial "pager.html" . }}
  1. 运行hugo server,打开http://your.doamin/archives/

恭喜你已完成全部的步骤哦

你可以查看我的历史归档页面,也可以查看主题源代码 mainload

参考链接

  1. How to Create an Archives Page with Hugo
  2. Generating Archive Pages with Hugo
  3. Archive Page in Hugo