我怎样才能在 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.
下
我正在使用 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.