我怎样才能在 Hugo 中为我的关于页面设置不同的 frontmatter?

How can I have a different frontmatter for my about page in Hugo?

我正在使用 PaperMod 主题。我的 config.yml

中有以下参数
---
# some predefined variables
params:
  ShowReadingTime: true
  ShowShareButtons: true
  ShowBreadCrumbs: true
  ShowCodeCopyButtons: true 
---

我的帖子的参数按预期工作。但是我有单个页面(例如关于页面),我不想使用相同的参数。我尝试在我的 /about/ 目录的 index.md 中覆盖上述值,但它没有用。

所以我在文档和博客文章中阅读了更多关于 _index.md 的内容,但不确定我是否理解正确,看来我应该改为这样做:

config.yml // remove such params
content 
  posts
     _index.md // only add params here 
     post1.md
     post2.md
  about.md // special page that doesn't need the params

但是当我这样做的时候,我设置的参数对post1,post2没有任何影响。

我这样做对吗?我想我可以将 content/posts 视为一个部分,每个部分都需要一个 _index.md 作为其自定义的前端变量。

我会在配置中设置它们,使它们成为站点范围的变量。然后我会在页面中设置不同的参数并用下面的逻辑覆盖。

指的是站点范围的变量:

.Site.Params.yourparamkey

引用页面变量:

.Params.yourparamkey

检查使用哪一个:

{{- if .Params.yourparamkey -}}
  {{- $yourparamkey := .Params.yourparamkey -}}
{{- else -}}
  {{- $yourparamkey := .Site.Params.yourparamkey -}}
{{- endif -}}

使用您的参数密钥:

{{ $yourparamkey }}

我注意到主题使用了{{ .Param KEY }}函数来获取这些自定义参数的值

该函数首先检查页面的参数(前端),然后回退到全局配置文件。在全局配置文件中,自定义参数指定在the params section, however, in the page's front matter, the custom parameters are specified at the root level.