一部の記事がかなりの分量になってしまい、目次が設定したかったので設定したときの備忘録。
どうやるか
まず、目次に関するテンプレートは公式で既に用意されていました。
なるほど、{{ .TableOfContents }}
で参照すればいいみたいです。
なので、めちゃくちゃシンプルに目次を表示したいだけだった僕は以下のようなショートコードを実装しました。
{{ .TableOfContents }}
この実装をtoc.htmlとして保存し、マークダウンからショートコードで参照してみましたが、hugo serve
するとエラーが発生しました。
Rebuild failed: executing "shortcodes/toc.html" at <.TableOfContents>: can't evaluate field TableOfContents in type *hugolib.ShortcodeWithPage
調べてみたら、どうやらショートコードからは{{ .Page.TableOfContents }}
と参照するのが正しい模様。
Hugoでドキュメント作るときに手っ取り早く痒いところに手が届くようになるTips #Hugo - Qiita
修正したら使用できるようになりました。
.Pageをつけなければいけない理由がいまいちよくわからないまま終わってしまったので、もし分かる人がいればコメントお願いします。。