Configuring Default Hugo Markdown Post Template

我一般喜欢使用一个设定好的模板开始写文字,所以以前我的工作流是复制模板,然后根据 模板填入文字,这里有个比较烦恼的地方是,每次我都要自己更新日期,现在了解到,hugo 自己就可以定制模板了,今天我们来看一下吧

模板配置

详细的配置说明可以参考这里, 我这里只是做简易说明,以及勘误。

根据官方的说明,hugo 会根据以下顺序来寻找模板:

1. archetypes/posts.md
2. archetypes/default.md
3. themes/my-theme/archetypes/posts.md
4. themes/my-theme/archetypes/default.md

这样使用 hugo new 时就会根据配置,自动创建新的文件

目前的实际情况

不过我的实测并非如此,我没有配置 archetypes/posts.md,但配置了 archetypes/default.md,奇怪的是, hugo new 出来的文档跟我的配置不同, 我的 hugo 版本是 v0.87.0

接着我去看了 themes/my-theme/archetypes/post.md,注意文件名和官方文档不同,发现实际引用的模板位置在这里。

解决

所以修改主题下的 post.md 成我想要的模板即可,比如:

---
title: "{{ replace .Name "-" " " | title }}"
date: {{ .Date }}
author: ["tricks1"]
tags: [""]
draft: true
---

intro

<!--more-->

## begins

new 一个试试看吧:

---
title: "This Is a Test"
date: 2021-08-28T17:01:49+08:00
author: ["tricks1"]
tags: [""]
draft: true
---

intro

<!--more-->

## begins

结论

不知道为何跟官方说明有出入,总之我的问题解决了,如果你也有类似问题, 两个 archetypes 下的文件都检查下,应该会有收获