Maintenant que vous avez quelques billets de blog à lier, configurons la page Blog pour créer automatiquement une liste d’entre eux !
Préparez-vous à…
Accédez aux données de tous vos billets en une fois en utilisant Astro.glob()
Affichez une liste générée dynamiquement de billets sur votre page Blog
Refactorez pour utiliser un composant <BlogPost /> pour chaque élément de liste
Afficher dynamiquement une liste de billets
Ajoutez le code suivant à blog.astro pour retourner des informations sur tous vos fichiers Markdown. Astro.glob() renverra un tableau d’objets, un pour chaque billet de blog.
Pour générer toute la liste de billets dynamiquement, en utilisant les titres et les URL des billets, remplacez vos balises <li> individuelles par le code Astro suivant :
L’ensemble de votre liste de billets de blog est maintenant généré dynamiquement, en parcourant le tableau renvoyé par Astro.glob().
Ajoutez un nouveau billet de blog en créant un nouveau fichier post-4.md dans src/pages/posts/ et en ajoutant un contenu Markdown. Assurez-vous d’inclure au moins les propriétés de frontmatter utilisées ci-dessous.
Revisitez votre page de blog dans votre aperçu de navigateur à l’adresse http://localhost:4321/blog et recherchez une liste mise à jour avec quatre éléments, y compris votre nouveau billet de blog !
Défi : Créez un composant BlogPost
Essayez de faire vous-même toutes les modifications nécessaires à votre projet Astro afin de pouvoir utiliser le code suivant pour générer votre liste de billets de blog :
Cliquez pour voir les étapes
Créez un nouveau composant dans src/components/.
Afficher le nom de fichier
Écrivez la ligne de code dans votre composant pour qu’il puisse recevoir un title et une url en tant que Astro.props.
Afficher le code
Ajoutez la mise en forme utilisée pour créer chaque élément de votre liste de billets de blog.
Afficher le code
Importez le nouveau composant dans votre page de blog.
Afficher le code
Vérifiez-vous : consultez le code du composant terminé.
Afficher le code
Testez vos connaissances
Si votre composant Astro contient la ligne de code suivante :
Choisissez la syntaxe que vous pourriez écrire pour représenter :
Le titre de votre troisième billet de blog.
Un lien vers l’URL de votre premier billet de blog.
Un composant pour chaque billet, affichant la date de sa dernière mise à jour.