登录
首页 >  Golang >  Go问答

Hugo中非站点级别变量和参数查询说明

来源:stackoverflow

时间:2024-03-03 22:36:24 159浏览 收藏

大家好,我们又见面了啊~本文《Hugo中非站点级别变量和参数查询说明》的内容中将会涉及到等等。如果你正在学习Golang相关知识,欢迎关注我,以后会给大家带来更多Golang相关文章,希望我们能一起进步!下面就开始本文的正式内容~

问题内容

我正在使用 hugo 通用主题。我是静态站点生成器的新手。这个问题是针对熟悉hugo模板的人的。

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 }}
{{ range $index, $element := sort .site.data.features "weight" }} {{ if eq (mod $index 3) 0 }}
{{ end }}

{{ $element.name }}

{{ $element.description | markdownify }}

{{ if or (eq (mod $index 3) 2) (eq $index (sub (len $.site.data.features) 1 )) }}
{{ end }} {{ end }}
{{ end }} {{ end }} {{ end }}

本例中要渲染的数据在 data/features/consulting.yaml 中定义如下:

weight: 4
name: "Consulting"
icon: "fa fa-lightbulb-o"
description: "Fifth abundantly made Give sixth hath..."

我应该如何向 yaml 文件添加新变量,以便稍后在 hugo 编译站点时通过 html 文件呈现。我尝试简单地添加另一个参数 param1 ,然后在 html 文件中插入相应的行作为

{{ $element.param1 | markdownify }}

位于描述段落下方,但出现错误

错误 2018/08/23 10:42:42 在“”中渲染“home”时出错: 模板:index.html:22:11:在 :调用部分时出错:模板: partials/features.html:18:56:执行“partials/features.html” : markdownify 的参数数量错误:想要 1 得到 0

显然我似乎无法正确定义变量,但是我应该在哪里这样做呢?我可以将另一个站点变量添加到 config.toml,但我想了解如何创建可以在 yaml/frontmatter 类型条目中定义的页面特定变量。我尝试阅读有关hugo 变量的内容,但陷入了什么是变量和什么是短代码的困境。非常感谢您对本示例的帮助。


解决方案


嗯,我找到了一个可行的答案,但我仍然不完全理解它如何适合 hugo 变量系统,因此非常欢迎更好的答案和/或评论。

看起来很简单。我必须在 yaml 文件中定义 url 变量:

name: "history"
position: "hx"
url: "/blog/2018/08/23/01-history/"

然后在 html 文件中使用,如下所示:

{{ if .url }} 
     
    
{{ .name }}
{{ else }}
{{ .name }}
{{ end }}

如果 .yaml 中定义了 .url,它的作用是将 .name 放入链接标记中。如果给出绝对 url,这也适用。因此,页面变量似乎被称为 .myvariable。模板作者在上面的另一个地方使用了 $element.name ,这让我很困惑。

我也可以将frontmatter中定义的参数引用为.params.name

我找到了https://github.com/devcows/hugo-universal-theme/pull/166的指针,并在调整模板时进行了测试;效果很好。

好了,本文到此结束,带大家了解了《Hugo中非站点级别变量和参数查询说明》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多Golang知识!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>