Goのhtml/templateでURLをエンコードさせない

概要

html/templateを使っているときに、テンプレートに渡すURLをエンコードさせたくなかった。

template.URLを使う

Goのhtml/templateを使って、URLをテンプレートに渡すとエンコードされてしまう仕様になっている。

cf. https://pkg.go.dev/html/template#hdr-Contexts

セキュリティ上の理由でこのような仕様になっていると思うが、HTML上でこれを回避したいようなケースがあると思う。

そういうときはtemplate.URLを使うと回避できる。

所感

地味にハマった。