Wavecast can be used in two ways. Choose the one that fits your project.
Prerequisites
- Hugo v0.146.0 or later
- Go 1.23 or later (only if using the module install path)
Option A: Install as a Hugo Theme
Recommended for most sites. Clone Wavecast into your themes/ directory:
Then add to your site’s hugo.toml:
That’s it. Hugo automatically discovers the shortcode (layouts/_shortcodes/podcast-player.html), JS (assets/js/podcast-player.js), and CSS (assets/css/podcast-player.css) from the theme directory.
Option B: Install as a Hugo Module
If you’re already using Hugo modules or need to compose Wavecast with other modules:
Then in your site’s hugo.toml:
Hugo resolves the module and makes the shortcode, JS, and CSS available automatically.
Which Option Should I Choose?
| You want… | Use |
|---|---|
| Simple setup, one theme | Theme (theme = "wavecast") |
| To use Wavecast alongside other modules | Module ([module.imports]) |
| To override Wavecast’s templates in your own project | Theme (Hugo’s theme cascade handles overrides) |
| Pinned, reproducible builds | Either: both support version pinning |
| No git submodule or clone in your repo | Module (hugo mod get) |
Local Development / Demo
Clone the repo and run the included example site:
Open your browser to the URL shown in the server output (e.g. http://localhost:1313/wavecast/). The first demo player uses a local .wav file so it works immediately with no external dependencies.
Verify Installation
After installing, check that the shortcode is recognized:
Create a test page and add a podcast-player shortcode. If the player renders, you’re all set.