mirror of
https://github.com/gohugoio/hugo.git
synced 2024-12-26 03:31:54 +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 |
||
---|---|---|
.. | ||
embedded | ||
ace.go | ||
amber_compiler.go | ||
template.go | ||
template_ast_transformers.go | ||
template_ast_transformers_test.go | ||
template_errors.go | ||
template_funcs.go | ||
template_funcs_test.go | ||
template_test.go | ||
templateFuncster.go | ||
templateProvider.go |