使用Hugo模块
条件
初始化一个新的模块
Use hugo mod init to initialize a new Hugo Module. If it fails to guess the module path, you must provide it as an argument, e.g.:
hugo mod init github.com/gohugoio/myShortcodes
Also see the CLI Doc.
更新模块
Modules will be downloaded and added when you add them as imports to your configuration, see Module Imports.
To update or manage versions, you can use hugo mod get.
Some examples:
更新所有模块
hugo mod get -u
更新所有模块递归
hugo mod get -u ./...
更新一个模块
hugo mod get -u github.com/gohugoio/myShortcodes
得到特定的版本
hugo mod get github.com/gohugoio/myShortcodes@v1.0.7
Also see the CLI Doc.
一个模块中的制作和测试的变化
One way to do local development of a module imported in a project is to add a replace directive to a local directory with the source in go.mod:
replace github.com/bep/hugotestmods/mypartials => /Users/bep/hugotestmods/mypartials
If you have the hugo server running, the configuration will be reloaded and /Users/bep/hugotestmods/mypartials put on the watch list.
打印依赖图
Use hugo mod graph from the relevant module directory and it will print the dependency graph, including vendoring, module replacement or disabled status.
E.g.:
hugo mod graph
github.com/bep/my-modular-site github.com/bep/hugotestmods/mymounts@v1.2.0
github.com/bep/my-modular-site github.com/bep/hugotestmods/mypartials@v1.0.7
github.com/bep/hugotestmods/mypartials@v1.0.7 github.com/bep/hugotestmods/myassets@v1.0.4
github.com/bep/hugotestmods/mypartials@v1.0.7 github.com/bep/hugotestmods/myv2@v1.0.0
DISABLED github.com/bep/my-modular-site github.com/spf13/hyde@v0.0.0-20190427180251-e36f5799b396
github.com/bep/my-modular-site github.com/bep/hugo-fresh@v1.0.1
github.com/bep/my-modular-site in-themesdir
Also see the CLI Doc.
供应商你的模块
hugo mod vendor will write all the module depencies to a _vendor folder, which will then be used for all subsequent builds.
Note that:
- You can run
hugo mod vendoron any level in the module tree. - Vendoring will not store modules stored in your
themesfolder. - Most commands accept a
--ignoreVendorflag, which will then run as if the none of the_vendorfolders in the module tree existed.
Also see the CLI Doc.
整洁 go.mod, go.sum
Run hugo mod tidy to remove unused entries in go.mod and go.sum.
Also see the CLI Doc.
清洁模块缓存
Run hugo mod clean to delete the entire modules cache.
Note that you can also configure the modules cache with a maxAge, see File Caches.
Also see the CLI Doc.