safe.HTMLAttr
Syntax
safe.HTMLAttr INPUT ⟼ template.HTMLAttr
Alias
safeHTMLAttr
Given a site configuration that contains this menu entry:
hugo.
menu:
main:
- name: IRC
url: irc://irc.freenode.net/#golang
[menu]
[[menu.main]]
name = 'IRC'
url = 'irc://irc.freenode.net/#golang'
{
"menu": {
"main": [
{
"name": "IRC",
"url": "irc://irc.freenode.net/#golang"
}
]
}
}
Attempting to use the url
value directly in an attribute:
{{ range site.Menus.main }}
<a href="{{ .URL }}">{{ .Name }}</a>
{{ end }}
Will produce:
<a href="#ZgotmplZ">IRC</a>
ZgotmplZ
is a special value, inserted by Go’s template/html package, that indicates that unsafe content reached a CSS or URL context.
To indicate that the HTML attribute is safe:
{{ range site.Menus.main }}
<a {{ printf "href=%q" .URL | safeHTMLAttr }}>{{ .Name }}</a>
{{ end }}