hugo/docs/content/en/functions/safeHTML.md
2023-05-22 16:47:07 +02:00

1.1 KiB

title description categories menu keywords signature relatedfuncs
safeHTML Declares a provided string as a "safe" HTML document to avoid escaping by Go templates.
functions
docs
parent
functions
strings
safeHTML INPUT

It should not be used for HTML from a third-party, or HTML with unclosed tags or comments.

Given a site-wide config.toml with the following copyright value:

{{< code-toggle file="config" >}} copyright = "© 2015 Jane Doe. <a href="https://creativecommons.org/licenses/by/4.0/">Some rights reserved." {{< /code-toggle >}}

{{ .Site.Copyright | safeHTML }} in a template would then output:

© 2015 Jane Doe.  <a href="https://creativecommons.org/licenses/by/4.0/">Some rights reserved</a>.

However, without the safeHTML function, html/template assumes .Site.Copyright to be unsafe and therefore escapes all HTML tags and renders the whole string as plain text:

<p>© 2015 Jane Doe.  &lt;a href=&#34;https://creativecommons.org/licenses by/4.0/&#34;&gt;Some rights reserved&lt;/a&gt;.</p>