with

将以下英文翻译为中文:

with

https://gohugo.io/functions/with/

Rebinds the context (.) within its scope and skips the block if the variable is absent or empty.

语法

with INPUT

An alternative way of writing an if statement and then referencing the same value is to use with instead. with rebinds the context (.) within its scope and skips the block if the variable is absent, unset or empty.

The set of empty values is defined by the Go templates package. Empty values include false, the number zero, and the empty string.

If you want to render a block if an index or key is present in a slice, array, channel or map, regardless of whether the value is empty, you should use isset instead.

The following example checks for a user-defined site variable called twitteruser. If the key-value is not set, the following will render nothing:

layouts/partials/twitter.html

1
2
3
4
5
{{ with .Site.Params.twitteruser }}<span class="twitter">
<a href="https://twitter.com/{{ . }}" rel="author">
<img src="/images/twitter.png" width="48" height="48" title="Twitter: {{ . }}"
 alt="Twitter"></a>
</span>{{ end }}