ox-hugoのreferenceがうまく表示されない問題

問題 Org Cite Citationsを使って #+print_bibliography: でreferenceを表示しようとしたが、“References"というヘッダのみが表示され、referenceのリストが表示されなかった。 content/ の中のmdファイルを見ると、htmlとして、referenceのリストが書き出されていたが、 public/ の中のhtmlファイルを見ると、referenceのリストが表示されていなかった。 よって、 org -> md -> html という変換の md -> html の部分で問題があると考え、調べてみると、同じ問題についてのissueが立っており、以下の解決策にたどり着いた。 解決策 config.tomlに [markup.goldmark.renderer] unsafe = true を追加することで解決できる 自分の場合はymlを使っていたので、以下のように設定した。 markup: goldmark: renderer: unsafe: true 解説 Goldmark — ox-hugo - Org to Hugo exporter で書かれているように、 Hugo v0.60.0以降、デフォルトのMarkdownパーサーはCommonMark準拠のGoldmarkに変更された。 以前のデフォルトパーサーであるBlackfridayは、仕様に準拠しておらず、多くのバグを抱えていたらしく、ox-hugoを使い続ける場合は、特別な理由がない限り、Goldmarkに移行することが推奨されている。 ただし、Goldmark/Hugoには、Blackfridayと比較してMarkdownのパース方法にいくつかの問題があり、 その一つが、今回の問題である、インラインHTMLがうまく表示されないというものっぽい。 この解決策によって、Markdown内でインラインHTML を使用できるようになるということらしい。

November 12, 2024 · 1 min · Kaoru Babasaki