Hugo中的Front Matter与Archetypes
Front Matter
Front Matter,扉页,即书本翻开以后的第一页。
在Hugo里,是指Markdown(或其它内容文本)开头的第一个区块。 在其中,可以定义一些页面相关的内容。
本文中的Front Matter是这样的:
+++
date = "2017-06-21T23:04:00+08:00"
description = "
本文介绍Hugo中的扉页(Front Matter)与原型(Archetypes),以及如何简单地使用它们。
"
draft = false
tags = ["Hugo"]
title = "Hugo中的Front Matter与Archetypes"
+++
其中,+++
是分割线,确定了Front Matter的区域。 区域内,是TOML的格式的数据结构。
比如,本文的标题就如定义一样,是:
title = "Hugo中的Front Matter与Archetypes"
部分字段解释
在Front Matter中,可以定义页面相关的信息,也可以在当前页面改变hugo config
的内容。
这里仅给出部分常用字段的解释。
字段 | 解释 |
---|---|
title | 标题,默认会自动生成,与文件名相同 |
draft | 草稿,如果为true,网站生成时默认不包括这个页面 |
date | 日期,一般自动生成就好 |
默认情况下,hugo new
会生成以上三个字段。 其它都是可有可无的字段,一般与theme、config有关。
Archetypes
Archetypes,原型,其实也可以理解为模板。
在使用hugo new PAGE_NAME.md
来创造一个新页面时,会根据archetypes目录下的模板,来生成新文件。
对于复杂的Front Matter,每次都手写,会很不方便。 一般可以把所需的变量及其默认值,放在Archetypes文件中。
本文生成时的archetypes/default.md
文件,内容如下:
+++
description = ""
tags = ["Hugo"]
draft = false
+++
但从Hugo的0.24版本后,不再支持自动补title与date,于是改为:
+++
draft = true
date = "{{ .Date }}"
categories = ["软件开发"]
tags = ["Hugo"]
title = "{{ replace .TranslationBaseName "-" " " | title }}"
description = """
+++