hugo-bookで左のmenuを折りたたむ

なぜか動かなくて2時間くらい溶かしたので備忘録。

まず、以下のようにfront matterにbookCollapseSection: trueを書いておくとそのセクションはメニュー上でFoldされる。

---
bookCollapseSection: true
---
# TitleOfSectionThatShouldBeFolded

これで動けばそれでよいのだが、動かなかった。

ところで、hugo-bookはdocs/の横にmenu/を置いてmenu/index.mdに箇条書きでファイルへのリンクを書いていくとメニューを作れる。

$ tree .
.
└── content
    ├── docs
    └── menu
        └── index.md

このindex.mdを作った状態で、config.tomlBookMenuBundle = '/menu'と設定していると、bookCollapseSection: trueをしているセクションでもfoldされなくなる。

[params]
  BookMenuBundle = '/menu' # これが原因

bookCollapseSectionは自動生成のときしか考慮されないオプションということなのか。

メニューでの表示タイトルは front metterのtitleで指定でき、メニューでの表示順は同じくfront matterのweightで指定できる。メニュー上では表示しないようにするのも、bookHidden: trueでできる。なのでメニューでの表示をいじりたいときはfront matterで指定する方が無難そうだ。

ここまで書いてからドキュメントを見に行ったところ、自動生成の方をFile tree menu、自分で書く方をLeaf bundle menuと呼んでいるようだ。このコメントの意味が今ようやくわかった。Issue commentでだが、Leaf bundle menuではbookCollapseSectionは使えないと明言されている。

ちゃんと全部ドキュメント読んでおけばよかったな。お前はいつもそうだ。