Pages
Les pages sont des fichiers qui se trouvent dans le sous-répertoire src/pages/
de votre projet Astro. Ils sont responsables de la gestion du routage, du chargement des données et de la mise en page globale de chaque page de votre site Web.
Fichiers de page pris en charge
Titre de la section Fichiers de page pris en chargeAstro prend en charge les types de fichiers suivants dans le répertoire src/pages/
:
.astro
.md
.mdx
(avec lâintĂ©gration MDX installĂ©e (EN)).html
.js
/.ts
(comme endpoints)
Routage basé sur les fichiers
Titre de la section Routage basé sur les fichiersAstro utilise une stratégie de routage appelée routage basé sur les fichiers. Chaque fichier de votre répertoire src/pages/
devient un point dâaccĂšs sur votre site en fonction de son chemin dâaccĂšs.
Un seul fichier peut Ă©galement gĂ©nĂ©rer plusieurs pages en utilisant le routage dynamique. Cela vous permet de crĂ©er des pages mĂȘme si votre contenu se trouve en dehors du rĂ©pertoire spĂ©cial /pages/
, par exemple dans une collection de contenu (EN) ou un CMS.
đ En savoir plus sur Le routage dans Astro.
Lien entre les pages
Titre de la section Lien entre les pagesĂcrivez des Ă©lĂ©ments HTML standard <a>
dans vos pages Astro pour crĂ©er des liens vers dâautres pages de votre site. Utilisez un chemin dâURL relatif Ă la racine de votre domaine comme lien, et non un fichier de chemin relatif.
Par exemple, pour créer un lien https://example.com/authors/sonali/
depuis nâimporte quelle autre page de example.com
:
En savoir plus <a href="/authors/sonali/">Ă propos de Sonali</a>.
Pages Astro
Titre de la section Pages AstroLes pages Astro utilisent lâextension de fichier .astro
et prennent en charge les mĂȘmes fonctionnalitĂ©s que les composants Astro.
------<html lang="fr"> <head> <title>Ma page d'accueil</title> </head> <body> <h1>Bienvenue sur mon site web !</h1> </body></html>
Une page doit produire un document HTML complet. Sâil nâest pas explicitement inclus, Astro ajoutera la dĂ©claration <!DOCTYPE html>
et le contenu <head>
nécessaires à tout composant .astro
situé dans src/pages/
par défaut. Vous pouvez renoncer à ce comportement pour chaque composant en le marquant comme une page partial.
Pour Ă©viter de rĂ©pĂ©ter les mĂȘmes Ă©lĂ©ments HTML sur chaque page, vous pouvez dĂ©placer les Ă©lĂ©ments communs <head>
et <body>
dans vos propres composants de mise en page. Vous pouvez utiliser autant, ou aussi peu de composants de mise en page que vous le souhaitez.
---import MySiteLayout from '../layouts/MySiteLayout.astro';---<MySiteLayout> <p>Le contenu de ma page, enveloppé dans une mise en page !</p></MySiteLayout>
đ En savoir plus sur les composants de mise en page dans Astro.
Pages Markdown/MDX
Titre de la section Pages Markdown/MDXAstro traite également tous les fichiers Markdown (.md
) contenus dans src/pages/
comme des pages de votre site Web final. Si vous avez installĂ© lâintĂ©gration MDX (EN), les fichiers MDX (.mdx
) sont traitĂ©s de la mĂȘme maniĂšre. Ces fichiers sont gĂ©nĂ©ralement utilisĂ©s pour les pages contenant beaucoup de texte, comme les articles de blog et la documentation.
Les collections de contenu de pages Markdown ou MDXÂ (EN) dans src/content/
peuvent ĂȘtre utilisĂ©es pour gĂ©nĂ©rer des pages dynamiquement.
Les mises en page sont particuliÚrement utiles pour les fichiers Markdown. Les fichiers Markdown peuvent utiliser la propriété frontmatter spéciale layout
pour spécifier un composant de mise en page qui enveloppera leur contenu Markdown dans un document page complet <html>...</html>
.
---layout: '../layouts/MySiteLayout.astro'title: 'Ma page Markdown'---# Titre
Voici ma page, écrite en **Markdown**.
đ En savoir plus sur le Markdown dans Astro.
Pages HTML
Titre de la section Pages HTMLLes fichiers portant lâextension .html
peuvent ĂȘtre placĂ©s dans le rĂ©pertoire src/pages/
et utilisĂ©s directement comme pages sur votre site. Notez que certaines fonctionnalitĂ©s clĂ©s dâAstro ne sont pas prises en charge dans les Composants HTML.
Page dâerreur 404 personnalisĂ©e
Titre de la section Page dâerreur 404 personnalisĂ©ePour une page dâerreur 404 personnalisĂ©e, vous pouvez crĂ©er un fichier 404.astro
ou 404.md
dans /src/pages
.
Il sera construit en une page 404.html
. La plupart des services de dĂ©ploiement le trouveront et lâutiliseront.
Page Partielle
Titre de la section Page Partielleastro@3.4.0
Les partiels sont des composants de page situés dans src/pages/
qui ne sont pas destinĂ©s Ă ĂȘtre affichĂ©s comme des pages complĂštes.
Comme les composants situĂ©s en dehors de ce dossier, ces fichiers nâincluent pas automatiquement la dĂ©claration <!DOCTYPE html>
, ni aucun contenu <head>
tel que les styles et les scripts.
Cependant, parce quâils sont situĂ©s dans le rĂ©pertoire spĂ©cial src/pages/
, le HTML gĂ©nĂ©rĂ© est disponible Ă une URL correspondant Ă son chemin de fichier. Cela permet Ă une bibliothĂšque de rendu (par exemple htmx, Stimulus, jQuery) dây accĂ©der sur le client et de charger des sections de HTML dynamiquement sur une page sans rafraĂźchissement du navigateur ni navigation dans la page.
Les partiels, lorsquâils sont associĂ©s Ă une bibliothĂšque de rendu, constituent une alternative aux Ăźles Astro et aux balises <script>
pour la création de contenu dynamique dans Astro.
Les fichiers de page qui peuvent exporter une valeur (par exemple .astro
, .mdx
) peuvent ĂȘtre marquĂ©s comme partiels.
Configurez un fichier dans le répertoire src/pages/
pour ĂȘtre un partiel en ajoutant lâexport suivant :
---export const partial = true;---<li>Je suis un partiel!</li>
Lâexport const partial
doit ĂȘtre identifiable statiquement. Il peut avoir la valeur de :
- Le booléen
true
. - Une variable dâenvironnement utilisant import.meta.env comme
import.meta.env.USE_PARTIALS
.
Utilisation avec une bibliothĂšque
Titre de la section Utilisation avec une bibliothĂšqueLes partiels sont utilisĂ©s pour mettre Ă jour dynamiquement une section dâune page en utilisant une bibliothĂšque telle que htmx.
Lâexemple suivant montre un attribut hx-post
dĂ©fini sur lâURL dâune page partielle. Le contenu de la page partielle sera utilisĂ© pour mettre Ă jour lâĂ©lĂ©ment HTML ciblĂ© sur cette page.
<html> <head> <title>Ma page</title> <script src="https://unpkg.com/htmx.org@1.9.6" integrity="sha384-FhXw7b6AlE/jyjlZH5iHa/tTe9EpJ1Y55RjcgPbjeWMskSxZt1v9qkxLJWNJaGni" crossorigin="anonymous"></script> </head></html><section> <div id="parent-div">Target here</div> <button hx-post="/partials/clicked/" hx-trigger="click" hx-target="#parent-div" hx-swap="innerHTML" > Cliquez! </button></section>
Le fichier partiel .astro
doit exister dans le chemin dâaccĂšs correspondant et inclure une exportation dĂ©finissant la page comme un fichier partiel :
---export const partial = true;---<div>J'ai été cliqué!</div>
Voir la documentation htmx pour plus de dĂ©tails sur lâutilisation de htmx.