Hugoのテンプレート内にHTMLコメントを記述し、生成後のHTMLにもHTMLコメントを残す方法

  • 2025年05月16日
  • blog

目次

スポンサードリンク

生成後の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として出力されます。