在 Hugo 数据中使用变量
Using Variables inside Hugo Data
我一直在努力学习 Hugo 并有一个基本的站点 运行。
除了基本的 post 数据结构外,我还在每个 post 中加载图像,方法是调用 .File.BaseFileName
获取页面的 slug 并在静态文件夹中命名相关图像。
除了每个 post 中的信息外,我还想用数据文件夹中的信息来扩充每个 post,并尝试了一种类似的技术,将数据文件命名为与 slug 相同的名称(正如我在上面的描述中对图片所做的那样)。
但是,当引用这个时,使用 example page 中的 {{.Site.Data.User0123.Name}}
我需要传递一个变量名来替换 User0123
我试过使用:
- javascript 样式括号语法 -
{{.Site.Data.["Variable"].Name}}
- 声明 slug 的变量然后使用
{{.Site.Data.$slug.Name}}
但是这些都不起作用。
我知道我可以将所有附加信息放入 post 本身,但这不适用于我正在使用的流程,其中 post 是自动生成的,我想增加附加数据。
一位同事实际上帮了我这个 - 似乎解决它的方法是使用 index
function.
{{ $userData2 := index .Site.Data $slug }}
<div>boop2 {{$userData2.Name}}: <p>{{ index $userData2 "Short Description" | markdownify }}</p></div>
我一直在努力学习 Hugo 并有一个基本的站点 运行。
除了基本的 post 数据结构外,我还在每个 post 中加载图像,方法是调用 .File.BaseFileName
获取页面的 slug 并在静态文件夹中命名相关图像。
除了每个 post 中的信息外,我还想用数据文件夹中的信息来扩充每个 post,并尝试了一种类似的技术,将数据文件命名为与 slug 相同的名称(正如我在上面的描述中对图片所做的那样)。
但是,当引用这个时,使用 example page 中的 {{.Site.Data.User0123.Name}}
我需要传递一个变量名来替换 User0123
我试过使用:
- javascript 样式括号语法 -
{{.Site.Data.["Variable"].Name}}
- 声明 slug 的变量然后使用
{{.Site.Data.$slug.Name}}
但是这些都不起作用。
我知道我可以将所有附加信息放入 post 本身,但这不适用于我正在使用的流程,其中 post 是自动生成的,我想增加附加数据。
一位同事实际上帮了我这个 - 似乎解决它的方法是使用 index
function.
{{ $userData2 := index .Site.Data $slug }}
<div>boop2 {{$userData2.Name}}: <p>{{ index $userData2 "Short Description" | markdownify }}</p></div>