wordpressからhugoに移転したとき、WordPress to Hugo Exporterで個別記事のデータを持ってきました。

それを使ってビルドして仮想サーバーでページを確認してみたら、記事がところどころ消えてるページ発見。

仮想サーバーでは表示できていない部分も、mdファイルにはちゃんと記載。そして全部表示されないわけではなく、ところどころ消えてます。文章も画像を貼り付けてた箇所も。

仮想サーバーで表示されているソースを確認してみたら、テキストがこんなコメントに置き換わってました。

<!-- raw HTML omitted -->

なんでもhugoのバージョンがv0.60.0からは、mdファイルにhtmlを直書きした場合、ビルド時にhtmlタグで囲った箇所は「raw HTML omitted」というコメント文に置換されるのだとか。

md記法で記述した部分は残り、htmlタグで囲った部分が消えて、あたかも虫食い状態のページができあがったというわけです。

mdファイル内でhtmlタグ使えないのはかなり不便で、classとかidとかどうするの?全部shortcode化するのってレベルの話なんですが、対処方法はありました。

config.toml(yaml他でもいいですけど)に、以下の記述を追加。

[markup.goldmark.renderer]

unsafe = true

これでmdファイル内でhtmlタグを使用した箇所も、書き出してくれるようになりましたよ。

でもこのかんじだと、mdファイル内のhtmlタグは全部shortcode作る方向で考えた方がいいのかなあ?とも思うのでした。