Wavecast uses Hugo front matter to configure episodes for both the player and the podcast RSS feed.
Audio Player Front Matter
Add a podcast: key to any page’s YAML front matter to render a player:
Player Fields
| Field | Required | Description |
|---|---|---|
podcast.src | yes | Audio URL or local file path |
podcast.poster | no | Cover image URL |
podcast.chapters | no | Comma-separated HH:MM:SS-Label pairs |
podcast.description | no | Markdown show notes rendered below player |
podcast.source | no | Source adapter: "local", "azuracast", "ivoox" |
podcast.persistent | no | Set to false to disable navigation persistence |
You can also pass these directly as shortcode parameters:
Podcast RSS Fields
For iTunes-compatible podcast RSS feeds, add additional fields to podcast: in your episode front matter:
RSS Fields Reference
| Field | Type | Default | Description |
|---|---|---|---|
podcast.src | string | : | Enclosure URL (required for feed inclusion) |
podcast.type | string | "audio/mpeg" | MIME type for the enclosure |
podcast.duration | string | : | Duration as HH:MM:SS or integer seconds |
podcast.season | int | : | iTunes season number |
podcast.episode | int | : | iTunes episode number |
podcast.explicit | bool | : | Overrides site-level explicit flag |
podcast.author | string | : | Overrides site-level podcast author |
podcast.guid | string | Permalink | Unique episode identifier |
podcast.episodeType | string | "full" | "full", "trailer", or "bonus" |
podcast.subtitle | string | : | Short teaser (max 255 chars) |
podcast.summary | string | : | Full description (max 4000 chars) |
Site-Level Podcast Config
Global podcast metadata goes in hugo.toml under [params.podcast]:
How RSS Detection Works
| Scenario | RSS output |
|---|---|
No [params.podcast] in config | Standard RSS 2.0 (suitable for blogs) |
[params.podcast] with author, image, or description | Full iTunes podcast RSS with itunes: namespace |
Episode has podcast.src (local file) | Enclosure with length auto-resolved from Hugo resources |
Episode has podcast.src (remote URL) | Enclosure with length="0" |
Episode has NO podcast.src | Omitted from feed entirely |
The feed is available at /index.xml. Validate at validator.w3.org/feed.
Next Steps
- Set up homepage and footer
- Learn about source adapters for AzuraCast and iVoox
- See all shortcodes for building rich content