Aller au contenu

Pages, URL et navigation

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, pas demarrage.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 .html et terminées par /.
  • Renommer ou déplacer un fichier change son URL : les liens qui y pointent doivent être mis à jour.

On utilise des chemins absolus depuis la racine du site, avec le / final :

Voir la page [Configuration](/concepts/configuration/).

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.

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ée

Cette page utilise order: 7, d’où sa position dans le groupe « Comprendre Astro & Starlight ».

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.

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/.