Pages, URL et navigation
Un fichier = une page = une URL
Section intitulée « Un fichier = une page = une URL »Astro applique un routage par fichiers : l’URL d’une page découle directement de
son emplacement dans src/content/docs/. Pas de table de routage à maintenir.
| Fichier source | URL | Fichier généré dans dist/ |
|---|---|---|
index.mdx |
/ |
index.html |
guides/getting-started.md |
/guides/getting-started/ |
guides/getting-started/index.html |
concepts/routing.md |
/concepts/routing/ |
concepts/routing/index.html |
guides/index.md (si on le créait) |
/guides/ |
guides/index.html |
Quelques règles :
- Le nom de fichier est transformé en slug : minuscules, espaces remplacés par des tirets. On évite donc les majuscules, accents et espaces dans les noms de fichiers.
- Les noms de fichiers et de dossiers sont en anglais, même pour les pages françaises
(
getting-started.md, pasdemarrage.md). Une page et ses traductions doivent en effet avoir le même chemin : l’anglais est le choix le plus lisible pour toutes les langues. Voir l’annexe sur l’internationalisation. - Chaque page devient un dossier contenant un
index.html: c’est ce qui donne des URL « propres », sans.htmlet terminées par/. - Renommer ou déplacer un fichier change son URL : les liens qui y pointent doivent être mis à jour.
Liens entre pages
Section intitulée « Liens entre pages »On utilise des chemins absolus depuis la racine du site, avec le / final :
Voir la page [Configuration](/concepts/configuration/).La page 404
Section intitulée « La page 404 »Starlight génère automatiquement une page 404.html (« Page introuvable »), que le serveur
web renvoie pour toute URL inexistante. Pour la personnaliser, il suffit de créer
src/content/docs/404.md.
La barre latérale
Section intitulée « La barre latérale »Ce site utilise des groupes autogénérés (voir Configuration) : chaque dossier listé dans la configuration produit un groupe, rempli avec les pages qu’il contient.
L’ordre et l’affichage se règlent depuis le frontmatter de chaque page :
sidebar: order: 6 # tri croissant ; sans « order », tri alphabétique après les pages ordonnées label: Navigation # texte du menu, si différent du titre de la page hidden: true # page accessible par son URL mais absente du menu badge: Nouveau # petite étiquette à côté de l'entréeCette page utilise order: 7, d’où sa position dans le groupe « Comprendre Astro & Starlight ».
Pagination
Section intitulée « Pagination »En bas de chaque page, les liens Précédent / Suivant suivent l’ordre de la barre latérale.
Ils sont calculés automatiquement ; on peut les surcharger avec les champs prev et next
du frontmatter, ou les masquer avec prev: false.
Brouillons
Section intitulée « Brouillons »Une page avec draft: true dans son frontmatter est visible avec npm run dev
mais exclue du build : elle n’apparaîtra pas dans dist/.