Introducción a los Feeds RSS de Wavecast
Este episodio demuestra cómo Wavecast genera automáticamente feeds RSS de podcasts
compatibles con iTunes cuando configuras [params.podcast] en tu archivo de
configuración del sitio Hugo.
Cómo Funciona
Wavecast incluye layouts/_default/rss.xml, una plantilla única que maneja tanto
blogs estándar como feeds de podcasts. En el momento de la construcción, la
plantilla verifica tu configuración [params.podcast]:
Reglas de detección:
| Condición | Comportamiento |
|---|---|
[params.podcast] tiene author, image o description | Renderiza un feed RSS completo de podcast iTunes (con namespace itunes:, categorías, propietario, artwork) |
[params.podcast] falta o está vacío | Renderiza un feed RSS plain 2.0 adecuado para blogs |
La página tiene podcast.src en su front matter | Incluido como <item> con un elemento <enclosure> |
La página no tiene podcast.src | Omitido completamente (no es un episodio de podcast) |
No hay ningún interruptor o bandera que configurar. Si tu configuración de sitio define metadatos de podcast, obtienes un feed de podcast. Si no los define, obtienes un feed de blog. Ambos funcionan desde la misma plantilla única.
Los episodios con archivos de audio locales (ej. src: "audio/episode.mp3") tienen
el tamaño del archivo <enclosure> auto-resuelto mediante los recursos de Hugo.
Las URLs remotas usan por defecto length="0", que es RSS válido y aceptado por
todos los directorios de podcasts principales.
Front Matter del Episodio
Todos los campos específicos de iTunes viven bajo la clave podcast: en el YAML
front matter de tu episodio:
podcast:
src: "https://example.com/audio/ep42.mp3" # required
type: "audio/mpeg" # MIME type
duration: "00:45:00" # HH:MM:SS or seconds
season: 2 # season number
episode: 42 # episode number
explicit: false # "true" or "false"
author: "Guest Host" # overrides site-level
guid: "unique-ep-42" # falls back to permalink
episodeType: "full" # full|trailer|bonus
subtitle: "A short episode teaser" # max 255 chars
summary: "Full episode description" # max 4000 chars
Los campos estándar de Hugo (title, date, tags, summary) se extraen del
front matter regular automáticamente.
Configuración del Canal
Los metadatos de podcast a nivel de sitio van en tu hugo.toml:
[params.podcast]
author = "Your Name"
image = "/podcast-cover.jpg" # min 1400x1400px recommended
description = "A weekly show about open-source."
explicit = false
type = "episodic" # "episodic" or "serial"
owner_name = "Your Name"
owner_email = "you@example.com"
[[params.podcast.categories]]
category = "Technology"
Validando el Feed
Una vez que tu sitio esté en vivo, valida tu feed:
- Visita validator.w3.org/feed
- Ingresa la URL del feed de tu sitio (generalmente
/index.xml) - Corrige cualquier advertencia antes de enviar a los directorios
El feed está listo para Apple Podcasts, Spotify, Google Podcasts, y cualquier aplicación de podcasts compatible con RSS.
Notas del Episodio
- W3C Feed Validator: valida tu feed RSS antes de enviarlo a directorios
- Apple Podcasts Connect: envía tu podcast a Apple Podcasts
- Hugo RSS Templates: documentación oficial de plantillas RSS de Hugo
Episodio de Wavecast RSS Demo. Usado con atribución.