summaryrefslogtreecommitdiffstats
path: root/docs/content/en/functions/safe/HTMLAttr.md
diff options
context:
space:
mode:
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2024-01-27 10:48:33 +0100
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2024-01-27 10:48:57 +0100
commit5fd1e7490305570872d3899f5edda950903c5213 (patch)
treef0cdc490a0942d720494c0044a64c6397d1ab6a5 /docs/content/en/functions/safe/HTMLAttr.md
parentfc7de7136acbcf0aef54ae8460c7702bc83709be (diff)
parent9b0050e9aabe4be65c78ccf292a348f309d50ccd (diff)
downloadhugo-5fd1e7490305570872d3899f5edda950903c5213.tar.gz
hugo-5fd1e7490305570872d3899f5edda950903c5213.zip
Merge commit '9b0050e9aabe4be65c78ccf292a348f309d50ccd' as 'docs'
``` git subtree add --prefix=docs/ https://github.com/gohugoio/hugoDocs.git master --squash ``` Closes #11925
Diffstat (limited to 'docs/content/en/functions/safe/HTMLAttr.md')
-rw-r--r--docs/content/en/functions/safe/HTMLAttr.md55
1 files changed, 55 insertions, 0 deletions
diff --git a/docs/content/en/functions/safe/HTMLAttr.md b/docs/content/en/functions/safe/HTMLAttr.md
new file mode 100644
index 000000000..198fc8ff3
--- /dev/null
+++ b/docs/content/en/functions/safe/HTMLAttr.md
@@ -0,0 +1,55 @@
+---
+title: safe.HTMLAttr
+description: Declares the given key/value pair as a safe HTML attribute.
+categories: []
+keywords: []
+action:
+ aliases: [safeHTMLAttr]
+ related:
+ - functions/safe/CSS
+ - functions/safe/HTML
+ - functions/safe/JS
+ - functions/safe/JSStr
+ - functions/safe/URL
+ returnType: template.HTMLAttr
+ signatures: [safe.HTMLAttr INPUT]
+aliases: [/functions/safehtmlattr]
+---
+
+Given a site configuration that contains this menu entry:
+
+{{< code-toggle file=hugo >}}
+[[menus.main]]
+ name = "IRC"
+ url = "irc://irc.freenode.net/#golang"
+{{< /code-toggle >}}
+
+Attempting to use the `url` value directly in an attribute:
+
+```go-html-template
+{{ range site.Menus.main }}
+ <a href="{{ .URL }}">{{ .Name }}</a>
+{{ end }}
+```
+
+Will produce:
+
+```html
+<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:
+
+```go-html-template
+{{ range site.Menus.main }}
+ <a {{ printf "href=%q" .URL | safeHTMLAttr }}>{{ .Name }}</a>
+{{ end }}
+```
+
+{{% note %}}
+As demonstrated above, you must pass the HTML attribute name _and_ value through the function. Applying `safeHTMLAttr` to the attribute value has no effect.
+{{% /note %}}
+
+[template/html]: https://pkg.go.dev/html/template