Hugoの0.60.0より前のバージョンでMarkdownで生成されるHTMLをカスタマイズする
Hugo
の内部でMarkdownをHTMLに変換するのにBlackfriday
を使っておりBlackfridayにオプションを渡せる様になっているので出力されるHTMLを少しだけカスタマイズできるようになっています。
たとえばデフォルトだとaタグにhref以外の属性値をつけてくれないけど設定するとtarget="_blank"
やrel="nofollow"
を追加できます。
2020/02/10更新 バージョンアップで設定方法が変更になったので追記しました
(追記)0.60.0から設定方法が変更になりました
0.60.0
からデフォルトのMarkdownパーサがBlackfridayからGoldmark
に変更になったためこちらの方法では設定できなくなってしまいました。
0.60.0
より前のバージョン、もしくはパーサをBlackfridayに変更して使う場合ではこちらの方法でも有効ですが、最近のバージョンでパーサをデフォルトのまま使う場合は0.62.0
から追加されたMarkdown Render Hooksで設定する必要があります。
設定方法
設定項目の詳細はHugo本家のドキュメント
を参照。
config.toml
にこんな感じで設定を追加すると生成されるHTMLがデフォルトと違う形式で出力されます。
[blackfriday]
hrefTargetBlank = true
nofollowLinks = true
↑の設定の場合target="_blank"
とrel="nofollow"
が追加されます。
<a href="https://gohugo.io/" rel="nofollow" target="_blank">Hugo</a>
Blackfriday extensionsの項目は少し特殊でextensions
とextensionsmask
に配列で設定します。
ドキュメント
でdefault: disabled
となっているものはextensions
に、default: enabled
となっているものはextensionsmask
に設定を記述する必要があります。
[blackfriday]
extensionsmask = ["autolink"]
↑の例だとURLっぽい文字列が勝手にリンクにならなくなります。