在 Hugo 数据中使用变量

Using Variables inside Hugo Data

我一直在努力学习 Hugo 并有一个基本的站点 运行。 除了基本的 post 数据结构外,我还在每个 post 中加载图像,方法是调用 .File.BaseFileName 获取页面的 slug 并在静态文件夹中命名相关图像。

除了每个 post 中的信息外,我还想用数据文件夹中的信息来扩充每个 post,并尝试了一种类似的技术,将数据文件命名为与 slug 相同的名称(正如我在上面的描述中对图片所做的那样)。

但是,当引用这个时,使用 example page 中的 {{.Site.Data.User0123.Name}} 我需要传递一个变量名来替换 User0123

我试过使用:

  1. javascript 样式括号语法 - {{.Site.Data.["Variable"].Name}}
  2. 声明 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>