hugo・hugo serverには、日常のビルドではあまり使わないオプションが数多く用意されている。ここでは目的別に整理し、それぞれの使い方を解説した記事へリンクする。
ビルド出力の制御
- 【Hugo】-dオプションでビルド結果を別ディレクトリに出力する
public/ではなく指定したディレクトリへビルド結果を出力し、稼働中の開発サーバーの状態を壊さずにビルド確認する。 - 【Hugo】--cleanDestinationDirで出力先ディレクトリの余分なファイルを削除する 記事を削除・リネームした後も出力先に残り続ける古いファイルを検出して削除する。
- 【Hugo】-Mオプションでディスクへ書かずにビルドする 生成物をメモリ上に展開し、ビルドの成否だけを確認したい場合にディスクへの書き込みを避ける。
- 【Hugo】--renderStaticToDiskで静的ファイルだけディスクへ書き出す
-Mと組み合わせ、静的ファイルはディスクから配信しつつ動的なページはメモリ上でレンダリングし、メモリ使用量を抑える。
開発サーバー
- 【Hugo】hugo server -Nで保存したファイルのページへ自動的に移動する 複数の記事を並行して編集している場合に、保存したファイルに対応するページへブラウザを自動的に移動する。
- 【Hugo】--disableFastRenderでFast Render Modeを無効にする 既定で有効なFast Render Modeを無効にし、変更のたびにサイト全体を再ビルドする。
ビルドの診断
- 【Hugo】--printUnusedTemplatesで未使用テンプレートを検出する テーマの改修やコンテンツの削除で使われなくなったテンプレートファイルを検出する。
- 【Hugo】--templateMetricsでテンプレートごとの実行時間を計測する ビルドが遅いときに、どのテンプレートに時間がかかっているかを個別に計測する。
- 【Hugo】--printMemoryUsageでビルド時のメモリ使用量を確認する ビルド全体のピークメモリ使用量を確認し、CI環境などのメモリ制限に収まるかを判断する。
- 【Hugo】--printPathWarningsで出力パスの重複を検出する 既定では警告なしに黙って上書きされる、複数ページの出力先パスの重複を検出する。
キャッシュの管理
- 【Hugo】--gcで使われなくなったキャッシュファイルを削除する ビルドとあわせて、既にコンテンツから参照されなくなったキャッシュファイルを削除する。
設定・環境の確認
- 【Hugo】hugo configで最終的に有効な設定値を確認する 複数の設定ファイルや環境変数がマージされた後の、最終的に有効な設定値を確認する。
- 【Hugo】hugo envでDart Sassなどの依存バージョンを確認する Hugo本体だけでなく、Dart Sassなど連携する外部ツールのバージョンを確認する。
- 【Hugo】hugo mod graphでテーマとの依存関係を確認する
themes/配下に置いただけのテーマも含め、Hugoが内部で扱う依存関係グラフを確認する。
ビルド対象の制御
- 【Hugo】hugo listでサーバーを起動せずに記事一覧と件数を確認する 開発サーバーを起動せずに、サブコマンドで下書き・未来日付・公開済みなど条件別の記事一覧をCSVで確認する。
- 【Hugo】-D/-Fで下書き・未来日付の記事を安全にプレビューする 本番用のビルドに影響を与えずに、下書きや公開前の記事だけをプレビュー対象に含める。
- 【Hugo】--clockで任意の日時を「現在時刻」としてビルドする 未来日付の記事が公開されるタイミングなど、日時に依存する挙動を任意の時刻を指定して確認する。
frontmatterの変換
- 【Hugo】hugo convert toYAMLでfrontmatterをYAMLへ揃える TOML/JSONなど形式が混在したfrontmatterを、指定した形式へ一括変換する。
\Hugoでオリジナリティのあるサイトを作ろう!/
