Skip to main content

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 }}