実現したいこと
テーマやlayouts/配下にテンプレートを追加・変更していくと、実際にはどこからも呼び出されなくなった古いテンプレートが埋もれていく。hugoは存在するテンプレートファイルを黙って読み込むだけで、使われていないものを教えてくれない。
--printUnusedTemplatesを付けると、ビルド時に一度も呼び出されなかったテンプレートを警告として表示できる。
使い方
hugoに--printUnusedTemplatesを付ける。public/を上書きしたくない場合は-M(--renderToMemory)と組み合わせる。
$ hugo -M --printUnusedTemplates
参考: 【Hugo】-Mオプションでディスクへ書かずにビルドする
動作確認
このブログ(約500記事)に対して実行したところ、3件の未使用テンプレートが見つかった。
$ hugo -M --printUnusedTemplates 2>&1 | grep -i template
WARN Template /_partials/custom.css is unused, source "[project-root]/layouts/_partials/custom.css"
WARN Template /_shortcodes/amazon.html is unused, source "[project-root]/themes/hugo-theme-suer-til/layouts/_shortcodes/amazon.html"
WARN Template /robots.txt is unused, source "[project-root]/layouts/robots.txt"
警告はWARNレベルで出力される。--quietを付けるとこの警告ごと表示されなくなるため、確認時は--quietを外す。
$ hugo --quiet -M --printUnusedTemplates 2>&1 | grep -i template
$ echo $?
1
参考: hugo | Hugo
\Hugoでオリジナリティのあるサイトを作ろう!/
