我正在使用雨果通用主题。我是静态站点生成器的新手。这个问题是给熟悉雨果模板的人准备的。
在layouts/partials/features.html
我们可以看到在哪里$element.name
渲染$element.name.description
:
{{ if isset .Site.Params "features" }}
{{ if .Site.Params.features.enable }}
{{ if gt (len .Site.Data.features) 0 }}
<section class="bar background-white">
<div class="container">
{{ range $index, $element := sort .Site.Data.features "weight" }}
{{ if eq (mod $index 3) 0 }}
<div class="col-md-12">
<div class="row">
{{ end }}
<div class="col-md-4">
<div class="box-simple">
<div class="icon">
<i class="{{ .icon }}"></i>
</div>
<h3>{{ $element.name }}</h3>
<p>{{ $element.description | markdownify }}</p>
</div>
</div>
{{ if or (eq (mod $index 3) 2) (eq $index (sub (len $.Site.Data.features) 1 )) }}
</div>
</div>
{{ end }}
{{ end }}
</div>
</section>
{{ end }}
{{ end }}
{{ end }}
在这种情况下要渲染的数据定义data/features/consulting.yaml
如下:
weight: 4
name: "Consulting"
icon: "fa fa-lightbulb-o"
description: "Fifth abundantly made Give sixth hath..."
我应该怎么做才能将新变量添加到yaml
文件中,然后html
在 hugo 编译站点时通过文件呈现。我尝试简单地添加另一个参数param1
,然后在 html 文件中插入相应的行,<p>{{ $element.param1 | markdownify }}</p>
就像描述段落的下方一样,但出现错误
错误 2018/08/23 10:42:42 在“”中渲染“主页”时出错:模板:index.html:22:11:在 <partial“features.ht...> 处执行“index.html”:错误调用部分:模板:partials/features.html:18:56:执行“partials/features.html”:markdownify 的参数数量错误:想要 1 得到 0
显然,我似乎无法正确定义变量,但我应该在哪里做呢?我可以向 中添加另一个站点变量config.toml
,但我想学习如何制作可以在yaml/frontmatter
类型条目中定义的页面特定变量。我尝试阅读有关 hugo 变量的内容,但在什么是变量和什么是简码方面陷入了困境。非常感谢您对本示例的帮助。