safeHTMLAttr
指定された文字列を安全な HTML 属性として宣言します。
以下のメニューエントリを含むサイト設定があるとします。
以下のように、属性で直接 url
値を使用しようとしています。
{{ range site.Menus.main }}
<a href="{{ .URL }}">{{ .Name }}</a>
{{ end }}
上記のコードは、下記コードを出力します。
<a href="#ZgotmplZ">IRC</a>
ZgotmplZ
は Go の template/html
パッケージによって挿入される特別な値で、安全でないコンテンツが CSS または URL コンテキストに到達したことを示します。
安全性チェックをオーバーライドするには、safeHTMLAttr
関数を使用します。
{{ range site.Menus.main }}
<a {{ printf "href=%q" .URL | safeHTMLAttr }}>{{ .Name }}</a>
{{ end }}