静的サイトジェネレーター Hugo は Go 言語製で、数千ページ規模のサイトでも数秒でビルドが完了します。一方で CLI のサブコマンドやフラグは多岐にわたり、必要なコマンドを探すだけで時間がかかることも少なくありません。

このページでは Hugo CLI の全コマンドを 目的別に分類 し、フラグや実行例とともにまとめています。ブックマークしておけば、作業中にすぐ参照できるリファレンスとして活用できます。

Hugo の概要とインストール

Hugo は GitHub で 86,000 以上のスターを獲得しているオープンソースの静的サイトジェネレーターです。Markdown で書いたコンテンツを HTML に変換し、高速な Web サイトを生成できます。2026 年 2 月時点の最新バージョンは v0.155.3 です。

出典: Hugo 公式リポジトリ

各 OS へのインストール方法

OSコマンド
macOS(Homebrew)brew install hugo
Windows(Chocolatey)choco install hugo-extended
Windows(Scoop)scoop install hugo-extended
Ubuntu / Debian(apt)sudo apt install hugo
Arch Linuxsudo pacman -S hugo

extended 版を入れると Sass/SCSS のトランスパイルや WebP 画像処理が利用できます。特別な理由がなければ extended 版を選択してください。

なお、apt で配布されるパッケージはディストリビューション側のリポジトリに依存するため、最新版ではない場合があります。最新版を確実に導入したい場合は Homebrew(Linux 版)か GitHub Releases から直接ダウンロードしてください。

インストール後は次のコマンドで確認できます。

hugo version
# 出力例: hugo v0.155.3-... extended ...

コマンド早見表

まずは全体像を把握するために、主要コマンドを一覧表にまとめます。

カテゴリコマンド機能
サイト管理hugo new site新規サイトのスキャフォールド
サイト管理hugo new themeテーマの雛形を生成
コンテンツhugo new content記事ファイルを作成
開発hugo serverローカル開発サーバーを起動
ビルドhugo / hugo build本番用 HTML を生成
コンテンツ管理hugo list記事の一覧を表示
設定hugo config設定値の確認
モジュールhugo modGo Modules ベースの依存管理
デプロイhugo deployクラウドへの配信
変換hugo convertFront Matter の形式変換
補完hugo completionシェル補完スクリプト生成
ドキュメント生成hugo genマニュアルや CSS 生成
インポートhugo import他 SSG からの移行
情報hugo versionバージョン表示
情報hugo envバージョンと環境情報

サイト管理コマンド

hugo new site ― プロジェクトの作成

新しい Hugo プロジェクトの雛形を生成します。実行するとディレクトリ構造と最低限の設定ファイルが自動作成されます。

hugo new site my-blog

実行後のディレクトリ構成は以下のとおりです。

my-blog/
├── archetypes/    # 記事テンプレート
│   └── default.md
├── assets/        # Sass・画像などの加工対象
├── content/       # Markdown 記事
├── data/          # データファイル(JSON/YAML/TOML)
├── i18n/          # 多言語リソース
├── layouts/       # テンプレート
├── static/        # そのまま公開するファイル
├── themes/        # テーマ
└── hugo.toml      # 設定ファイル

主なフラグ

フラグ説明
--format設定ファイルの形式を指定(toml / yaml / json
--force空でないディレクトリにも生成を強制
# YAML 形式の設定ファイルで作成する例
hugo new site my-blog --format yaml

hugo new theme ― テーマの雛形を作成

独自テーマを開発する場合に使用します。themes/ ディレクトリにテーマのスキャフォールドが生成されます。

hugo new theme my-custom-theme

テーマには layouts/static/archetypes/ などが含まれ、すぐにカスタマイズを始められます。

コンテンツ管理コマンド

hugo new content ― 記事の作成

Markdown ファイルを生成し、Front Matter に日付やタイトルを自動設定します。archetypes/ にテンプレートがあればそれが適用されます。

hugo new content posts/my-first-post.md

生成されるファイルの例です。

---
title: "My First Post"
date: 2026-02-09T22:38:18+09:00
draft: false
---

draft: true が初期値のため、公開時は false に変更するか、ビルド時に -D フラグを付けます。

主なフラグ

フラグ説明
-k, --kindコンテンツの種類を指定(例: post, page
-b, --baseURLルート URL を指定
-s, --sourceソースディレクトリの指定
# kind を指定して記事を作成
hugo new content -k tutorial tutorials/getting-started.md

hugo list ― 記事一覧の取得

サイト内のコンテンツを条件別に一覧表示できます。記事管理やメンテナンスの際に活用します。

サブコマンド説明
hugo list allすべての記事を一覧表示
hugo list drafts下書き状態の記事のみ表示
hugo list future公開日が未来の記事のみ表示
hugo list expired有効期限切れの記事のみ表示
hugo list published公開済みの記事のみ表示
# 下書き記事を確認
hugo list drafts

# 出力例:
# content/posts/wip-article.md
# content/posts/draft-review.md

公開前に hugo list drafts で下書きの残りを確認し、hugo list future で予約投稿の日時を点検するのが効率的です。

開発サーバーコマンド

hugo server ― ローカルプレビュー

組み込みの Web サーバーを起動し、ファイル変更を検知して自動的にブラウザをリロードします。開発中は常時起動しておくのが基本です。

hugo server
# → http://localhost:1313/ でプレビュー

主なフラグ

フラグ初期値説明
-p, --port1313待ち受けポート番号
--bind127.0.0.1バインドする IP アドレス
-D, --buildDraftsfalse下書き記事も表示
-F, --buildFuturefalse未来日付の記事も表示
-E, --buildExpiredfalse期限切れ記事も表示
-O, --openBrowserfalse起動時にブラウザを自動で開く
-N, --navigateToChangedfalse変更したページへ自動遷移
--disableLiveReloadfalseライブリロードを無効化
--disableFastRenderfalseフルレンダリングに切り替え
--renderToMemoryfalseディスクではなくメモリ上で処理
--minifyfalseHTML/CSS/JS を圧縮
--tlsAutofalseローカル TLS 証明書を自動生成
# 下書きを含めてポート 8080 で起動し、ブラウザを自動で開く
hugo server -D -p 8080 -O
# 同一ネットワーク上の他端末からもアクセスできるようにする
hugo server --bind 0.0.0.0 -p 1313
# HTTPS でプレビューする(ローカル証明書を自動生成)
hugo server --tlsAuto

ビルドコマンド

hugo(hugo build) ― 本番用ファイルの生成

public/ ディレクトリに静的 HTML を出力します。hugohugo build は同じ動作です。

hugo

主なフラグ

フラグ説明
-d, --destination出力先ディレクトリを変更(初期値: public
--minifyHTML / XML / CSS / JS / JSON を圧縮
--gcビルド後に未使用のキャッシュファイルを削除
--enableGitInfoGit のコミット情報を各ページに付与
-e, --environmentビルド環境を指定(production / development など)
-b, --baseURLルート URL を上書き
-t, --theme使用テーマを切り替え
--cleanDestinationDir出力先の不要ファイルを削除してからビルド
# 圧縮してビルドし、不要キャッシュも掃除
hugo --minify --gc

# ステージング環境向けにベース URL を変えてビルド
hugo -b https://staging.example.com/ -e staging

ビルド時に含めるコンテンツの制御

フラグ効果
-D, --buildDraftsdraft: true の記事もビルド
-F, --buildFuture公開日が未来の記事もビルド
-E, --buildExpired有効期限切れの記事もビルド
# すべてのコンテンツを含めてビルド
hugo -D -F -E

設定確認コマンド

hugo config ― 設定値の表示

現在有効な設定をすべて出力します。設定ファイルの記述ミスを探すときに役立ちます。

hugo config

サブコマンド

サブコマンド説明
hugo config mountsファイルマウントの設定を表示
# マウント情報だけ確認
hugo config mounts

hugo env ― 環境情報の出力

Hugo のバージョンに加え、Go のバージョンや OS 情報、有効な機能フラグを表示します。問題報告時に添付すると原因特定がスムーズです。

hugo env
# 出力例:
# hugo v0.155.3+extended linux/amd64 BuildDate=...
# GOARCH="amd64"
# GOOS="linux"
# ...

モジュール管理コマンド

Hugo Modules は Go Modules の仕組みを利用して、テーマやコンポーネントをバージョン管理できる機能です。

hugo mod のサブコマンド一覧

サブコマンド説明
hugo mod initモジュールを初期化(go.mod を生成)
hugo mod get依存モジュールをダウンロード・更新
hugo mod tidy未使用モジュールを go.sum から除去
hugo mod vendor依存を _vendor/ にコピー
hugo mod verifyモジュールの整合性を検証
hugo mod graph依存関係をツリー表示
hugo mod cleanモジュールキャッシュを削除
hugo mod npm packpackage.json を統合して出力
# モジュール初期化
hugo mod init github.com/your-name/your-site

# テーマをモジュールとして追加
hugo mod get github.com/theNewDynamic/gohugo-theme-ananke

# 不要な依存を整理
hugo mod tidy

テーマを Git submodule で管理する従来の方式と比べ、Hugo Modules はバージョン固定や差分更新が容易です。チーム開発やテーマの組み合わせ利用時に特に効果を発揮します。

デプロイコマンド

hugo deploy ― クラウドへの配信

hugo.toml[deployment] セクションに対象と認証情報を記述しておくと、ビルド成果物をクラウドストレージへ直接アップロードできます。

# hugo.toml の設定例
[deployment]
[[deployment.targets]]
  name = "production"
  URL = "s3://my-bucket?region=ap-northeast-1"
hugo deploy

対応するクラウドプロバイダは Amazon S3、Google Cloud Storage、Azure Blob Storage です。

変換・インポートコマンド

hugo convert ― Front Matter の形式変換

既存コンテンツの Front Matter を別の形式に一括変換します。

サブコマンド変換先
hugo convert toTOMLTOML 形式
hugo convert toYAMLYAML 形式
hugo convert toJSONJSON 形式
# 全記事の Front Matter を YAML に変換
hugo convert toYAML

hugo import jekyll ― Jekyll サイトの移行

Jekyll プロジェクトのディレクトリを指定すると、Hugo 形式に変換してインポートします。

hugo import jekyll /path/to/jekyll-site /path/to/hugo-site

記事の Front Matter やディレクトリ構造が自動的に Hugo の規約に合わせて変換されます。

補助コマンド

hugo completion ― シェル補完の設定

hugo コマンドの Tab 補完を有効にします。対応シェルごとにサブコマンドが用意されています。

サブコマンド対象シェル
hugo completion bashBash
hugo completion zshZsh
hugo completion fishFish
hugo completion powershellPowerShell
# Bash の場合
source <(hugo completion bash)

# .bashrc に追記して永続化
echo 'source <(hugo completion bash)' >> ~/.bashrc
# Zsh の場合
echo 'source <(hugo completion zsh)' >> ~/.zshrc

補完を有効にするとサブコマンドやフラグが Tab キーで候補表示されるため、入力効率が大幅に向上します。

hugo gen ― ドキュメントやスタイル生成

Hugo 自体のマニュアルページやシンタックスハイライト用 CSS を生成するユーティリティです。

サブコマンド説明
hugo gen chromastylesChroma ハイライト用 CSS を出力
hugo gen docHugo コマンドの Markdown ドキュメントを生成
hugo gen manman ページを生成
# monokai スタイルのシンタックスハイライト CSS を生成
hugo gen chromastyles --style=monokai > syntax.css

ブログでコードブロックを多用する場合、この CSS をサイトに組み込むとハイライト表示を細かく制御できます。

グローバルフラグ(全コマンド共通)

すべてのコマンド・サブコマンドで利用できるフラグです。

フラグ説明
--config設定ファイルのパスを指定
--configDir設定ファイルのディレクトリを指定(初期値: config
-s, --sourceソースディレクトリを指定
-e, --environmentビルド環境を指定
--logLevelログレベルを指定(debug / info / warn / error
--quiet出力を抑制
--clockHugo 内部の時計を固定(テスト向け)
--noBuildLock.hugo_build.lock を生成しない
--ignoreVendorPaths指定 Glob パターンにマッチするベンダーパスを無視
# 設定ファイルを明示して本番環境用にビルド
hugo --config config/production.toml -e production

用途別クイックリファレンス

作業の目的に合わせて使うコマンドを速引きできるよう整理しました。

サイトを新しく立ち上げるとき

hugo new site my-site --format yaml
cd my-site
hugo mod init github.com/your-name/my-site
hugo mod get github.com/theNewDynamic/gohugo-theme-ananke
hugo server -O

日常の記事執筆フロー

# 記事を作成
hugo new content posts/2026-02-09-new-article.md

# 下書きを含めてプレビュー
hugo server -D

# 下書きを確認
hugo list drafts

# draft: false に変更後、本番ビルド
hugo --minify --gc

CI/CD でのビルド(GitHub Actions の例)

# .github/workflows/deploy.yml
name: Deploy Hugo
on:
  push:
    branches: [main]

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
        with:
          submodules: true
          fetch-depth: 0
      - uses: peaceiris/actions-hugo@v3
        with:
          hugo-version: "0.155.3"
          extended: true
      - run: hugo --minify
      - uses: peaceiris/actions-gh-pages@v4
        with:
          github_token: ${{ secrets.GITHUB_TOKEN }}
          publish_dir: ./public

トラブルシューティング向け情報収集

# 環境情報を取得(問題報告に添付)
hugo env

# 設定の確認
hugo config

# 詳細ログでビルド
hugo --logLevel debug

# キャッシュを全削除して再ビルド
hugo mod clean
hugo --gc --cleanDestinationDir

よくある質問(FAQ)

Hugo のバージョンを確認する方法は?

hugo version を実行すると、インストール済みのバージョンとビルド情報が表示されます。より詳しい環境情報が必要な場合は hugo env を使用してください。

hugo serverhugo の違いは?

hugo server はローカル開発サーバーを起動し、ファイル変更時に自動リビルドとライブリロードを行います。対して hugohugo build)は public/ ディレクトリに静的ファイルを出力するだけで、サーバー機能は含まれません。

開発中は hugo server、本番デプロイ前は hugo --minify という使い分けが標準的です。

Front Matter の形式を変えたいときは?

hugo convert コマンドで TOML・YAML・JSON を相互変換できます。たとえば TOML から YAML に移行する場合は hugo convert toYAML を実行します。コンテンツの中身はそのままで、Front Matter 部分だけが変換されます。

テーマの管理に Git submodule と Hugo Modules のどちらを使うべき?

Hugo Modules をおすすめします。バージョンの固定・更新・複数モジュールの組み合わせが hugo mod gethugo mod tidy だけで完結し、チームメンバー間で環境差が生じにくくなります。Git submodule は Hugo Modules 登場以前の方式であり、新規プロジェクトであえて選ぶ理由はほとんどありません。

まとめ

Hugo CLI はサイト作成からデプロイまで、静的サイト運営のほぼすべてをカバーしています。日常的に使用頻度が高いのは次の 5 つです。

  1. hugo new content ― 記事ファイルの作成
  2. hugo server -D ― 下書き込みのローカルプレビュー
  3. hugo --minify --gc ― 本番ビルド
  4. hugo list drafts ― 下書きの確認
  5. hugo mod tidy ― 依存の整理

コマンドのフラグを忘れたときは hugo <command> --help で即座に確認できます。シェル補完(hugo completion)を設定しておくと、Tab キーで候補が表示されるため作業がさらに速くなります。

公式ドキュメント: https://gohugo.io/commands/