From 15569de3195d47f9de9850a5130c16f9730aa70c Mon Sep 17 00:00:00 2001 From: Armand Philippot Date: Wed, 31 Jul 2024 11:41:30 +0200 Subject: [PATCH] i18n(fr): update basics/layouts.mdx * Apply changes from #8763 * Reword Nesting Layouts translation * Fix a wrong link in layouts tutorial --- src/content/docs/fr/basics/layouts.mdx | 36 +++++++++++++------- src/content/docs/fr/tutorial/4-layouts/3.mdx | 2 +- 2 files changed, 25 insertions(+), 13 deletions(-) diff --git a/src/content/docs/fr/basics/layouts.mdx b/src/content/docs/fr/basics/layouts.mdx index f98ce1bbec35e..7a40496b610ed 100644 --- a/src/content/docs/fr/basics/layouts.mdx +++ b/src/content/docs/fr/basics/layouts.mdx @@ -238,27 +238,39 @@ const { title, fancyJsHelper } = Astro.props; Pour en savoir plus sur la prise en charge de Markdown et de MDX par Astro, consultez notre [guide Markdown/MDX](/fr/guides/markdown-content/). -## Utilisation d'une mise en page unique pour les fichiers `.md`, `.mdx` et `.astro`. +## Utilisation de TypeScript avec des mises en page -Une unique mise en page Astro peut être écrite pour recevoir l'objet `frontmatter` des fichiers `.md` et `.mdx`, ainsi que toutes les propriétés nommées, passées depuis les fichiers `.astro`. +Toute mise en page Astro peut être modifiée pour introduire la sécurité des types et la saisie semi-automatique en fournissant les types pour vos propriétés : -Dans l'exemple ci-dessous, la mise en page va afficher le titre de la page, soit depuis la propriété YAML `title` de frontmatter, soit depuis un composant Astro passant un attribut `title` : - -```astro /{?title}?/ /Astro.props[.a-z]*/ +```astro ins={2-7} title="src/components/MyLayout.astro" --- -// src/components/MyLayout.astro -const { title } = Astro.props.frontmatter || Astro.props; +interface Props { + title: string; + description: string; + publishDate: string; + viewCount: number; +} +const { title, description, publishDate, viewCount } = Astro.props; --- - - + + + + + {title} + -

{title}

- +
+

Publié le {publishDate}

+

Consulté par {viewCount} personnes

+
+
+ +
``` -## Mises en page d'emboîtement +## Imbrication de mises en page Les composants de mises en pages ne doivent pas nécessairement contenir une page entière de HTML. Vous pouvez décomposer vos mises en page en composants plus petits et combiner des composants de mises en page pour créer des templates de page encore plus flexibles. Ce modèle est utile lorsque vous souhaitez partager du code entre plusieurs mises en page. diff --git a/src/content/docs/fr/tutorial/4-layouts/3.mdx b/src/content/docs/fr/tutorial/4-layouts/3.mdx index 77489b01dd26d..aeeb6330f3563 100644 --- a/src/content/docs/fr/tutorial/4-layouts/3.mdx +++ b/src/content/docs/fr/tutorial/4-layouts/3.mdx @@ -137,4 +137,4 @@ Vous avez déjà une mise en page `BaseLayout.astro` pour définir la mise en pa ### Ressources -- [Imbrication de mises en page dans Astro](/fr/basics/layouts/#utilisation-dune-mise-en-page-unique-pour-les-fichiers-md-mdx-et-astro) +- [Imbrication de mises en page dans Astro](/fr/basics/layouts/#imbrication-de-mises-en-page)