Hugoのテンプレート内にHTMLコメントを記述し、生成後のHTMLにもHTMLコメントを残す方法
目次
スポンサードリンク
生成後のHTMLにもHTMLコメントを残す方法
Hugoのテンプレートには以下のようなHTMLコメントを記述することができます。テンプレートに記述されたHTMLコメントは、HugoコマンドでHTMLを生成すると削除されます。しかし、HTMLコメントをそのまま残しておきたいことがあります。
<!-- コメントの例です。 -->
サンプルコード
このコードは、HTMLコメントの文字列をそのままHTMLとして出力します。HTMLコメントをsafeHTML関数に通すことで「安全なHTMLなのでエスケープしないで出力してください」とHugoに指示しています。
{{ "<!-- コメントの例です -->" | safeHTML }}
また、SSI(Server side include)の記述など、コメント内にダブルクォーテーションを含む場合は注意が必要です。そのまま記述すると「unexpected “/” in operand」というエラーがでます。
以下のように、ダブルクォーテーションをエスケープしてあげましょう。
{{ "<!--#include virtual=\"/path/to/file.html\" -->" | safeHTML }}
safeHTML関数とは
safeHTML関数はHugoのテンプレート内で使用できる関数の一つで、HTML文字列を「安全なHTML」としてマークすることです。Hugoはセキュリティ上の理由から、テンプレート内で記述された文字列をそのままHTMLとして出力するのではなく、エスケープ処理を行いますが、safeHTML 関数を適用した文字列は、Hugoによってエスケープ処理されずに、そのままHTMLとして出力されます。