A small collection of JS libraries that works well with Hugo, packaged and ready for use as Hugo Modules.
Hugo has great support for JavaScript building, but these libraries stand solid on their own and you don't need npm
to use them. It's similar to including the libraries from CDN, but you get the added benefit of:
- Offline use.
- They are aware of the Hugo life cycle (minify, fingerprint, add integrity hash only when in production).
- The dependencies can be vendored (
hugo mod vendor
) to make your site truly standalone. - ...
To use AlpineJS with Turbolinks you can just import the modules into your config and then add this to your head
{{ partialCached "jslibs/alpinejs/script-src.html" "-" }}
{{ partialCached "jslibs/turbolinks/script-src.html" "-" }}
See each component's README for usage.
These modules have their own semver versioning scheme that does not match the upstream library they wrap. To see the current upstream versions, use:
hugo mod graph
To update one module:
hugo mod get -u github.com/gohugoio/hugo-mod-jslibs/instantpage
To update all:
hugo mod get -u
The Hugo documentation has more information about Hugo Modules, how versioning works etc.