El archivo rss.xml.js
- Función: Genera el canal/feed XML de suscripción para lectores de noticias y blogs.
- Ubicación:
src/pages/rss.xml.js. - Plugin/Complemento: Requiere la librería oficial
@astrojs/rss. - Dependencia: Requiere tener la propiedad site configurada en
astro.config.mjs.
Es un archivo de Ruta de Endpoint (API Root) en Astro. Sirve para generar dinámicamente un archivo XML codificado bajo el estándar RSS (Really Simple Syndication).
Permite que lectores de noticias (como Feedly, Inoreader o Flipboard) o agregadores de contenido se suscriban a un sitio web y reciban automáticamente sus últimas publicaciones o posts del blog sin tener que visitar la página manualmente.
Para instalar la librería oficial @astrojs/rss, ejecuta el siguiente comando en tu terminal:
pnpm add @astrojs/rssDentro de src/pages/rss.xml.js, se exporta una función GET utilizando la utilidad rss del paquete oficial:
Ejemplo de implementación
En el ejemplo, se genera un feed RSS con todas las publicaciones del blog, incluyendo título, descripción, enlace y fecha de publicación. Nótese que para que la propiedad context.site genere los enlaces absolutos correctos en el archivo XML, la URL del sitio debe estar configurada en el archivo principal de configuración astro.config.mjs (que en estos momentos está configurado para localhost):
Cuando se publica en un subpath de GitHub Pages (como por ejemplo /kitten-blog), Astro necesita dos cosas en el archivo de configuración astro.config.mjs para generar correctamente los enlaces absolutos en el feed RSS:
- site: La URL base de la cuenta (Ejemplo: https://rita.github.io).
- base: El nombre del repositorio con una barra adelante (Ejemplo:
/kitten-blog.