実現したいこと
draft: trueの下書き記事や、publishDateを未来にして予約投稿した記事は、素のhugoコマンドではビルドに含まれない。執筆中にプレビューで見た目を確認したい場合でも、そのままでは記事が出力されない。
-D(--buildDrafts)や-F(--buildFuture)を付けると、これらの記事もビルドに含められる。
使い方
draft: trueの記事を用意し、-Dを付けずにビルドすると出力されない。
$ hugo -d /tmp/hugo-check
$ ls /tmp/hugo-check/hugo/draft-post
ls: /tmp/hugo-check/hugo/draft-post: No such file or directory
-Dを付けてビルドすると出力される。
$ hugo -D -d /tmp/hugo-check
$ ls /tmp/hugo-check/hugo/draft-post
index.html
index.xml
publishDateを未来の日時にした記事も同様に、-Fを付けない限りビルドに含まれない。
$ hugo -d /tmp/hugo-check
$ ls /tmp/hugo-check/hugo/future-post
ls: /tmp/hugo-check/hugo/future-post: No such file or directory
$ hugo -F -d /tmp/hugo-check
$ ls /tmp/hugo-check/hugo/future-post
index.html
index.xml
hugo serverにも同じ-D/-Fを付けられるため、執筆中の下書きや予約投稿をローカルサーバーでプレビューする用途にも使える。
$ hugo server -D -F
–cleanDestinationDirと組み合わせて確認用の出力を掃除する
-Dを付けて出力した確認用ビルドをそのままにしておくと、下書きのHTMLが出力先に残り続ける。-Dを外して--cleanDestinationDirを付けて同じ出力先へビルドし直すと、下書き記事の出力が削除される。
$ hugo -D -d /tmp/hugo-check
$ ls /tmp/hugo-check/hugo/draft-post
index.html
index.xml
$ hugo -d /tmp/hugo-check --cleanDestinationDir
$ ls /tmp/hugo-check/hugo/draft-post
ls: /tmp/hugo-check/hugo/draft-post: No such file or directory
公開前の確認用ビルドと、公開版相当のビルドを同じ出力先で行き来する場合、--cleanDestinationDirを付けておくと下書きの取り残しを防げる。
参考: 【Hugo】--cleanDestinationDirで出力先ディレクトリの余分なファイルを削除する
参考: hugo | Hugo
\Hugoでオリジナリティのあるサイトを作ろう!/
