mirror of
https://github.com/gohugoio/hugo.git
synced 2024-12-23 19:21:26 +00:00
02eaddc2fb
Before this commit, due to a bug in Go's `text/template` package, this would print different output for typed nil interface values: ``` {{ if .AuthenticatedUser }}User is authenticated!{{ else }}{{ end }} {{ if not .AuthenticatedUser }}{{ else }}}User is authenticated!{{ end }} ``` This commit works around this by wrapping every `if` and `with` with a custom `getif` template func with truth logic that matches `not`, `and` and `or`. Those 3 template funcs from Go's stdlib are now pulled into Hugo's source tree and adjusted to support custom zero values, e.g. types that implement `IsZero`. This means that you can now do: ``` {{ with .Date }}{{ . }}{{ end }} ``` And it would work as expected. Fixes #5738 |
||
---|---|---|
.. | ||
cast | ||
collections | ||
compare | ||
crypto | ||
data | ||
encoding | ||
fmt | ||
hugo | ||
images | ||
inflect | ||
internal | ||
lang | ||
math | ||
os | ||
partials | ||
path | ||
reflect | ||
resources | ||
safe | ||
site | ||
strings | ||
templates | ||
time | ||
tplimpl | ||
transform | ||
urls | ||
template.go | ||
template_test.go |