我是Hugo的新手,对GoLang一无所知,我正在尝试执行以下操作。
我有一个Hugo网站,在我的帖子中,我在前面的问题中指定了keywords
,例如:
---
author: Andrea Tino
keywords:
- language
- image
- fun
---
在我的模板中,我想为关键字添加<meta>
,所以我有:
<head>
<meta charset="utf-8">
{{ if .Keywords }}
<meta name="keywords" content="{{ .Keywords }}">
{{ end }}
<title>{{ .Title }} | {{ .Site.Title }}</title>
</head>
问题当然是我在输出中得到了:
<head>
<meta charset="utf-8">
<meta name="keywords" content="[language image fun]">
<title>{{ .Title }} | {{ .Site.Title }}</title>
</head>
我的目标是获得:
<meta name="keywords" content="language, image, fun">
如何实现?
看着这个documentation,我尝试了一下:
{{ if .Keywords }}
<meta name="keywords" content="{{ .Keywords | println }}">
{{ end }}
也尝试过:
{{ if .Keywords }}
<meta name="keywords" content="{{ .Keywords | printf "%s" }}">
{{ end }}
它们不起作用。还尝试过:
{{ if .Keywords }}
<meta name="keywords" content="{{ println(strings.Join(.Keywords, ", ")) }}">
{{ end }}
最后一个导致错误:
错误:“ / Users / me / Git / myproj / themes / mytheme / layouts / partials / header.html:7:1”:解析失败:模板:partials / header.html:7:意外的“(”操作数
答案 0 :(得分:5)
您可以尝试
<p>Keywords: {{ delimit .Keywords ", " }}</p>
答案 1 :(得分:1)
仅当关键字摆在首位时才输出meta标记:
{{- with delimit .Keywords "," -}}
<meta name="keywords" content="{{.}}">
{{ end }}