Hugo Modulesとは

こんにちはnasustです。 Hugo v0.56から新しい機能、Hugo Modulesがサポートされました。

Hugo Modulesとは、指定したGitHubのURLをHugoのウェブサイトのディレクトリとして使用できる機能です。

例えば、あるHugoのテーマーのショートコードだけ使用したい場合、以前はテンプレートをコピペしましたが、Hugo Modulesの機能でURLを指定するだけで使用できるようになります。

warningWarning
Hugo Modulesを使用するには、Go 1.12以上とgitが必要です。Hugo Modulesは、これらのコマンドを使用している為です。

設定方法

以下のように設定します。

[module]
    [[module.imports]]
        path="github.com/spf13/hyde"
toml

github.com/spf13/hydeはHugoテーマのGitHubのレポジトリーです。archetypes,lyouts,static内のファイルが自分のウェブサイトのファイルとして使用出来ます。

Hugoテーマ以外のレポジトリーも使用出来ます。

[module]
    [[module.imports]]
        path="github.com/bep/hugotestmods/mymounts"
    [[module.imports.mounts]]
        source="myassets/subfolder"
        target="assets/images"
    [[module.imports.mounts]]
        source="mydata/subfolder"
        target="data/datakey"
toml

github.com/bep/hugotestmods/mymountsはHugoのテーマでは無いレポジトリーです。[[module.imports.mounts]]のsourceで指定したレポジトリのディレクトリをtargetでHugoのディレクトリとして割り当てています。

要するにgithub.com/bep/hugotestmods/mymounts/myassets/subfolder内のファイルがassets/imagesのパスで参照出来るようになります。

targetはstatic, content, layouts, data, assets, i18n, archetypesが指定出来ます。

これらのモジュールは、hugoコマンドでウェブサイトのビルドなどタイミングで自動的にダウンロードされます。

prev