Hugo で Markdown ファイルに記述した HTML コードが削除されてしまう場合

Goldmark 化による弊害

Hugo v0.60.0 から Markdown パーサーとして Goldmark が採用され、Markdown の解釈が微妙に変わっています。

例えば、今までは .md ファイル内に記述した HTML コードはそのまま出力されていたのに、デフォルトで取り除かれるようになっています。 これまでに作成した記事で HTML タグを使用している場合はちょっと困ってしまいます。

Markdown ファイル内に HTML コードを記述できるようにする

.md ファイルに記述した HTML コードを、これまで通り出力できるようにするには、Hugo の設定ファイルで次のように指定します。

hugo.toml(TOML フォーマットの場合)
[markup.goldmark.renderer]
  unsafe = true
hugo.yaml(YAML フォーマットの場合)
markup:
  goldmark:
    renderer:
      unsafe: true

もちろん、使用する Markdown パーサー自体を旧来の BlackFriday に設定するという方法もあります。

[markup]
  defaultMarkdownHandler = "blackfriday"

ただ、Goldmark の方が高速に動作するようなので、前向きに Goldmark に乗り換えることを考えた方がよいでしょう。