Skip to main content

モジュールを設定する

このページでは、モジュールの設定オプションについて説明します。

モジュールの設定: トップレベル

noVendor
ベンダリングの際にスキップするオプションの glob パターンマッチング モジュール パス (たとえば、“github.com/**”)
vendorClosest
有効にすると、それを使用するモジュールに最も近いベンダリングされたモジュールが選択されます。 デフォルトの動作は、最初のものを選択します。 特定のモジュール パスの依存関係は 1 つしか存在できないため、一度使用すると再定義できないことに注意してください。
proxy
リモートモジュールのダウンロードに使用するプロキシサーバーを定義します。デフォルトは direct で、“git clone” などの意味になります。
noProxy
上記で設定したプロキシを使用してはならないパスに一致するカンマ区切りの glob リスト。
private
プライベートとして扱うべきパスと一致するカンマ区切りの glob リスト。
workspace
使用するワークスペース ファイル。 これにより、Go ワークスペース モードが有効になります。 これは OS 環境経由でも設定できることに注意してください。 export HUGO_MODULE_WORKSPACE=/my/hugo.work これは Go 1.18 以降でのみ機能します。 Hugo v0.109.0 では、デフォルトを off に変更し、作業ディレクトリを基準とした相対的な作業ファイル名を解決するようになりました。
replacements
モジュールパスからディレクトリへのマッピングをカンマで区切ったリスト、例えば github.com/bep/my-theme -> ../..,github.com/bep/shortcodes -> /some/path。これは主にモジュールの一時的なローカル開発に便利で、その場合は環境変数として保存するとよいでしょう。相対パスは themesDir からの相対パスです。絶対パスは許可されています。

上記の用語は、Go モジュールの対応する用語に直接対応していることに注意してください。これらの設定のいくつかは、OS の環境変数として設定するのが自然でしょう。例として、使用するプロキシサーバーを設定する場合は、以下のようにします。

env HUGO_MODULE_PROXY=https://proxy.example.org hugo

モジュールの設定: hugoVersion

もし、モジュールが動作するために特定のバージョンの Hugo を必要とする場合、 module セクションでそのことを指定することができ、古すぎたり新しすぎたりするバージョンを使っている場合は警告されます。

上記のいずれかを省略できます。

min
サポートする Hugo の最小バージョン (たとえば、0.55.0)
max
サポートする Hugo の最大バージョン (たとえば、0.55.0)
extended
拡張版 Hugo の必要性の有無。

モジュールの設定: imports

path
有効な Go モジュールのモジュールパス (たとえば、github.com/gohugoio/myShortcodes) か、テーマ フォルダーに保存されているモジュールのディレクトリ名のどちらかを使用します。
ignoreConfig
有効にすると、モジュール設定ファイル (たとえば、hugo.toml) はロードされません。また、依存関係にあるモジュールのロードも停止することに注意してください。
ignoreImports
有効にすると、モジュールのインポートに従わなくなります。
disable
true に設定すると、go.* ファイルにバージョン情報を残したまま、モジュールを無効化できます。
noMounts
このインポートでは、フォルダーーをマウントしません。
noVendor
このインポートをベンダーにしません (メインプロジェクトでのみ許可されます)。

モジュールの設定: mounts

デフォルト マウント

source
マウントのソースディレクトリです。メインプロジェクトでは、これはプロジェクト相対でも絶対でも、またシンボリックリンクでもかまいません。他のモジュールでは、プロジェクト相対である必要があります。
target
Hugo の仮想ファイルシステムにマウントされる場所です。Hugo のコンポーネントフォルダーである staticcontentlayoutsdataassetsi18narchetypes のいずれかを先頭に指定する必要があります。たとえば、 content/blog を指定します。
lang
言語コードで、たとえば “en” を指定します。マルチホストモードでは、 content マウントと static マウントにのみ関係します。
includeFiles (string または slice)
インクルードするファイルやディレクトリにマッチする1つ以上の glob  パターンを指定します。 excludeFiles が設定されていない場合は、 includeFiles にマッチするファイルがマウントされます。

glob パターンは source ルートから始まるファイル名にマッチし、Windows でも Unix スタイルのスラッシュを持つはずです。/ はマウントルートにマッチし、** はスーパー アスタリスクとして、たとえば /posts/**.jpg のようにすべてのディレクトリに再帰的にマッチできます。

検索では大文字と小文字が区別されません。

excludeFiles (string または slice)
除外するファイルに一致する 1 つ以上の glob パターンです。