Update the OINK Hugo module
Update a site that imports the theme as a pinned Hugo module.
These pages describe the OINK update contract. A target release is the version that you are moving the site to. Read its release post before starting: it records breaking changes, required actions, and the validated Hugo range.
OINK consumer builds do not install Node.js packages. npm remains repository tooling for theme maintainers, not a site-update step.
Perform the update in this order:
Install a Hugo Extended version supported by the target release. Update the same version in local developer setup, CI, Cloudflare Pages, Netlify, container images, and any cache keys. Verify the selected binary before building:
hugo version
The current validation baseline is Hugo Extended 0.164.0; the theme’s current
minimum is 0.160.1. A release post takes precedence if it changes either
value.
Use the page matching the site’s installation mode:
For a released archive, replace the existing theme directory with the target
archive only after preserving site-owned overrides. Verify its checksum and keep
LICENSE, NOTICE, and VENDOR.json with the distribution.
If the site overrides theme files, compare each override with its new theme counterpart and port relevant changes. Check these directories:
assets/i18n/layouts/static/Remove an override when the theme now provides the same behavior. Keep site business components, product pages, and brand assets at the site layer.
Run both a development preview and the exact production command. For the Hugo-only contract, the production build is:
hugo --gc --minify
Verify at least the following:
Finally, run every release-specific check from the target release post.
Update a site that imports the theme as a pinned Hugo module.
Remove the upstream npm theme package from an OINK consumer site.
Update an OINK theme stored as a Git submodule or clone.
Replace a Docsy consumer toolchain with the Hugo-only OINK theme.