問題

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 を使用できるようになるということらしい。