af4b7ac5b Remove mention of Amber and Ace c841e9207 Exif docs corrections (#978) 0f82420b8 Change cache assets default example to 1 year 676dc6e12 Release 0.61.0 a1d9fb18a Merge commit '79c5d7053486f540b6219e693d5590f2c4c3937a' 1b9e675cd releaser: Add release notes to /docs for release of 0.61.0 5b95cbc8a Fixed suffixIsRemoved error in code samples (#975) 59b2c245b Fix Usage section in toc.md to consider Goldmark TOC settings fd3828673 Add link on how to configure TOC w/ Goldmark ea339f2d6 Added external learning resources including Hugo In Action book. fab502d5d Adjust release notes 269a025ef Release 0.60.1 6bff50bea Merge branch 'temp601' e15251c43 releaser: Add release notes to /docs for release of 0.60.1 690b864b9 Update use-modules.md 345ca8c36 Update syntax-highlighting.md be64af9f5 Update syntax-highlighting.md df9dead83 Update syntax-highlighting.md 1c6e6d238 Fix relnotes 0ea6b2012 Update homepagetweets.toml 2c465625d Update index.md 0025bba09 Update index.md 7417f1c05 Update index.md 9eeb8ce57 Release 0.60.0 25a711023 Merge branch 'temp60' 0c4faab0e releaser: Add release notes to /docs for release of 0.60.0 779e5108e Update installing.md 2ef1c386a Minor text improvements in README.md 41ec5a19a Reword sentence for clarity search.md ded74f098 Add Goldmark as the new default markdown handler cb55cdbb0 Update introduction.md fcaad653a Update homepage.md 7427a1fc5 Update configuration.md 8cc2c72ca tpl/collections: Allow dict to create nested structures 4538c092c Merge commit 'efc0b1bb6c6564f54d596467dbc6a18cb206954e' 90f908e7b Support Go time format strings in permalinks git-subtree-dir: docs git-subtree-split: af4b7ac5b403e392a92228e66058331905fff7dc
3.3 KiB
title | linktitle | description | date | categories | keywords | menu | weight | sections_weight | draft | aliases | toc | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Use Hugo Modules | Use Hugo Modules | How to use Hugo Modules to build and manage your site. | 2019-07-24 |
|
|
|
20 | 20 | false |
|
true |
Prerequisite
{{< gomodules-info >}}
Initialize a New Module
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.
Update Modules
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:
Update All Modules
hugo mod get -u
Update One Module
hugo mod get -u github.com/gohugoio/myShortcodes
Get a Specific Version
hugo mod get github.com/gohugoio/myShortcodes@v1.0.7
Also see the CLI Doc.
Make and test changes in a module
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.
Print Dependency Graph
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.
Vendor Your Modules
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 vendor
on any level in the module tree. - Vendoring will not store modules stored in your
themes
folder. - Most commands accept a
--ignoreVendor
flag, which will then run as if the none of the_vendor
folders in the module tree existed.
Also see the CLI Doc.
Tidy go.mod, go.sum
Run hugo mod tidy
to remove unused entries in go.mod
and go.sum
.
Also see the CLI Doc.
Clean Module Cache
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.