[Hugo] config.toml の設定

Hugo(v0.55)で作成したブログの設定のメモ

パーマリンクの設定

記事のパーマリンクのURLは記事のslugだけにしたい。 なぜなら、カテゴリやセクションが変わると面倒だから。

[permalinks]
    posts = "/:slug"

postセクションの記事のルートURLを /blog/ にしたい

これもパーマリンクの設定により実現できる。

[permalinks]
    posts = "/blog/:slug"

外部リンクに `target="_blank" をつける設定

[blackfriday]
    hrefTargetBlank = true

blackfrydayはHugoで使っているGo製のMarkdownエンジン。

ただし、この設定は rel="noopener" まではつけてくれないのでセキュリティ上に問題がある(Hugo v0.55)。

もう実装されていると書いてあったので noopenerLinks = true で動くことを期待したが動かなかった。

やり方が間違っているのかHugo v0.55が最新のBlackfridayを使っていないかだと思う。

外部リンクに rel="noreferrer をつける

外部リンクに rel="noopener" をつける設定方法はわからなかったが、 rel="noreferrer" をつける設定方法は以下のようにする。

[blackfriday]
    noreferrerLinks = true

Hugoでビルド後にrel="noreferrer"の部分をrel="noopener"に置換すれば、 noreferrerをつけるという目的は達成できるが…雑だ。

ダブルクオートが違う文字に変換されてしまうのを防ぐ

HugoがMarkdownをHTMLに変換するために利用しているBlackfridayには、smartypants というオプションがある。

これは 12/23 といった文字列を見た目キレイに表示してくれたりするが、 " という別の文字に変換したりといろいろ副作用が多い。

以下の設定をconfig.tomlに加えて、smartypantsを無効にする。

[blackfriday]
    smartypants = false

タクソノミー(カテゴリやタグ)の名前が勝手に小文字になる

以前は preserveTaxonomyNames = true と設定することで一部は回避できた。 Hugo v0.55 にて preserveTaxonomyNames は削除された。

代わりにテンプレートのタクソノミーのノードで .Page.Title を使う必要がある。

Share