你如何从 Hugo 中变量 return 的路径字符串中解析括号?

How do you parse brackets from path string on a variable return in Hugo?

我正在为生成的 Hugo post/page 编写布局模板。 .yaml header 是

image:
  - post/mytitle/image.jpg

模板将Hugo中的变量合并为

{{ .Params.Image }}

服务时,变量return编辑为

[post/mytitle/image.jpg]

我的html然后变成

<img src="[post/mytitle/image.jpg]"/>

在浏览器中是 404。我已经尝试了一些 Hugo 函数,例如 {{ trim .Param.Image "[]" }}{{ subset .Params.Image 1 -1 }} 以及 {{ print .Params.Image }},但都无济于事。每次 Hugo returned 错误:“调用 substr 时出错:无法将类型为 []string 的 []string{”post/mytitle/image.jpg”} 转换为字符串”。

如何获取 return 不带括号的字符串的变量,或者如何从字符串中省略括号?

在 Go 模板中,您可以使用 index:

访问切片中的项目
{{ index .Params.Image 0 }}

问题是为什么这个值首先是一个序列。你可以简单地做

image:
  post/mytitle/image.jpg

然后你可以保留原来的语法,因为它现在是一个简单的值,而不是一个序列。

如果你想包含多张图片,你会这样做

{{ range .Params.Image }}<img src="{{.}}">{{ end }}

那你可以

image:
  - post/mytitle/image.jpg
  - post/mytitle/anotherimage.jpg