Hugo:如何通过插值来设置dict值?



在Go (Hugo)模板中,如何设置dict中单个条目的值?

在这个例子中,我从一个预填充的dict$vitality开始,可能还有一个字符串.Params.vitality。如果字符串有任何内容,我想将字符串作为键的dict条目设置为1。

<figure class="histogram">
{{ $vitality := (dict 
"institutional" .Params.count_institutional 
"stable" .Params.count_stable 
"endangered" .Params.count_endangered 
"dying" .Params.count_dying 
"extinct" .Params.count_extinct) 
}}
{{ if ne .Params.vitality "" }}
{{ $vitality.(.Params.vitality) <!--problem line-->
:= .Params.vitality 
}} 
{{ end }}
{{ range $key, $value := $vitality }}
<div class="histogram-bar" 
data-category="{{ $key }}" 
data-count="{{ $value }}">
<div class="histogram-bar-label">{{ $key }}</div>
</div>
{{ end }}
</figure>

不能解析,Hugo阻塞在$vitality.(.Params.vitality)中的第一个.上。我相信这种尝试被称为插值,没有插值就不可能实现目标。这是可能的在Go模板,如果是,如何?

看来您想要将.Params.vitality添加到$vitality字典中。我觉得你想要的是归并。你的问题行变成。

$vitality = merge $vitality(dict "vitality" .Params.vitality)

最新更新