Ajouter un flux RSS
Astro prend en charge la génération rapide et automatique de flux RSS pour les blogs et autres sites web de contenu. Les flux RSS permettent aux utilisateurs de s’abonner facilement à votre contenu.
Mise en place de @astrojs/rss
Titre de la section Mise en place de @astrojs/rssLe paquet @astrojs/rss
fournit des aides pour générer des flux RSS en utilisant des points de terminaison d’API. . Cela débloque à la fois les constructions statiques et la génération à la demande lors de l’utilisation d’un adaptateur SSR.
-
Installez
@astrojs/rss
en utilisant votre gestionnaire de paquets préféré :Assurez-vous d’avoir configuré un
site
dans leastro.config
de votre projet. Ce site sera utilisé pour générer des liens vers vos articles RSS. -
Créez un fichier dans
src/pages/
avec un nom de votre choix et l’extension.xml.js
qui sera utilisé comme URL de sortie pour votre flux. Certains noms d’URL de flux RSS courants sontfeed.xml
ourss.xml
.Le fichier d’exemple ci-dessous
src/pages/rss.xml.js
créera un flux RSS à l’adressesite/rss.xml
. -
Importez l’aide
rss()
du paquetage@astrojs/rss
dans votre fichier.xml.js
et exportez une fonction qui la retourne en utilisant les paramètres suivants :
Générer des items
Titre de la section Générer des itemsLe champ items
accepte une liste d’objets de flux RSS, qui peuvent être générés à partir des entrées des collections de contenu en utilisant getCollection()
ou à partir des fichiers de vos pages en utilisant pagesGlobToRssItems()
.
Le format standard des flux RSS comprend les valeurs suivantes pour chaque élément publié :
title
: Le titre de l’entrée. Facultatif seulement si unedescription
est définie. Sinon, obligatoire.description
: Un court extrait ou une description de l’entrée. Facultatif seulement si untitre
est défini. Sinon, obligatoire.link
: Une URL vers la source originale de l’entrée. (optionnel)pubDate
: La date de publication de l’entrée. (optionnel)content
: Le contenu complet de l’article. (optionnel)customData
: Un champ pour inclure des données supplémentaires, telles que d’autres propriétés de la page d’accueil de vos articles de blog.
Utilisation des collections de contenu
Titre de la section Utilisation des collections de contenuPour créer un flux RSS de pages gérées dans les collections de contenu, utilisez la fonction getCollection()
pour récupérer les données nécessaires à votre tableau items
. Vous devrez spécifier les valeurs de chaque propriété désirée (par exemple title
, description
) à partir des données retournées.
Facultatif : remplacez votre schéma de collection de blogs existant pour appliquer les propriétés RSS attendues.
Pour vous assurer que chaque entrée de blog produise un élément de flux RSS valide, vous pouvez éventuellement importer et appliquer rssSchema
au lieu de définir chaque propriété individuelle de votre schéma.
Utilisation des importations globales
Titre de la section Utilisation des importations globales
Ajouté à la version :
@astrojs/rss@2.1.0
Pour créer un flux RSS à partir des documents contenus dans src/pages/
, utilisez l’aide pagesGlobToRssItems()
. Elle accepte un résultat import.meta.glob
et produit un tableau d’éléments de flux RSS valides (voir plus d’informations sur l’écriture de motifs glob pour spécifier les pages à inclure).
Cette fonction suppose, mais ne vérifie pas, que toutes les propriétés de flux nécessaires sont présentes dans le premier plan de chaque document. Si vous rencontrez des erreurs, vérifiez manuellement le recto de chaque page.
Dans les versions de @astrojs/rss
antérieures à v2.1.0, passez le résultat de votre glob directement à items
sans le wrapper pagesGlobToRssItems()
:
Cette méthode est obsolète pour toutes les versions d’Astro depuis la version 2.1.0, et ne peut pas être utilisée dans les projets modernes.
Inclure le contenu intégral de l’article
Titre de la section Inclure le contenu intégral de l’article
Ajouté à la version :
astro@1.6.14
La clé content
contient le contenu complet de l’article en HTML. Cela vous permet de mettre l’intégralité du contenu de votre article à la disposition des lecteurs de flux RSS.
Un paquet comme sanitize-html
s’assurera que votre contenu est correctement assaini, échappé et encodé. Au cours de ce processus, un tel paquet peut également supprimer certains éléments et attributs inoffensifs. Veillez donc à vérifier le résultat et à configurer le paquet en fonction de vos besoins.
Lorsque vous utilisez des collections de contenu, rendez le body
du message en utilisant un analyseur Markdown standard comme markdown-it
et désinfectez le résultat :
Lorsque vous utilisez des importations globales avec Markdown, vous pouvez utiliser l’aide compiledContent()
pour récupérer le HTML rendu pour l’assainissement. Note : cette fonctionnalité n’est pas supportée pour les fichiers MDX.
Ajouter une feuille de style
Titre de la section Ajouter une feuille de styleStylez votre flux RSS pour une expérience utilisateur plus agréable lorsque vous visualisez le fichier dans votre navigateur.
Utilisez l’option stylesheet
de la fonction rss
pour spécifier un chemin absolu vers votre feuille de style.
Si vous préférez ne pas créer votre propre feuille de style, vous pouvez utiliser une feuille de style préétablie comme la Pretty Feed v3 default stylesheet. Téléchargez la feuille de style depuis GitHub et enregistrez-la dans le répertoire public/
de votre projet.
Prochaines étapes
Titre de la section Prochaines étapesAprès avoir consulté votre flux dans le navigateur à l’adresse votre-domaine.com/rss.xml
et confirmé que vous pouvez voir les données de chacun de vos articles, vous pouvez maintenant promouvoir votre flux sur votre site web. L’ajout de l’icône RSS standard sur votre site permet à vos lecteurs de savoir qu’ils peuvent s’abonner à vos articles dans leur propre lecteur de flux.