diff --git a/src/content/docs/fr/guides/content-collections.mdx b/src/content/docs/fr/guides/content-collections.mdx index 5777ef326ddce..a9a44a8704281 100644 --- a/src/content/docs/fr/guides/content-collections.mdx +++ b/src/content/docs/fr/guides/content-collections.mdx @@ -591,7 +591,7 @@ npm run astro build -- --force **Déconseillé.** Les plugins Remark et rehype accèdent au _raw_ du frontmatter du document Markdown ou MDX. Cela signifie que le document `remarkPluginFrontmatter` est traité séparément de votre `schema` sécurisé, et ne reflétera pas les changements ou les valeurs par défaut appliqués par Astro. Utilisez-le à vos risques et périls ! ::: -Astro supporte les plugins remark ou rehype qui [modifient votre frontmatter directement](/fr/guides/markdown-content/#modifier-le-frontmatter-par-un-programme). Vous pouvez accéder à ce frontmatter modifié à l'intérieur d'un contenu en utilisant la propriété `remarkPluginFrontmatter` renvoyée par `render()` : +Astro supporte les plugins remark ou rehype qui [modifient votre frontmatter directement](/fr/guides/markdown-content/#modification-programmatique-du-frontmatter). Vous pouvez accéder à ce frontmatter modifié à l'intérieur d'un contenu en utilisant la propriété `remarkPluginFrontmatter` renvoyée par `render()` : ```astro "{ remarkPluginFrontmatter }" --- diff --git a/src/content/docs/fr/guides/content.mdx b/src/content/docs/fr/guides/content.mdx index 2500c8119c641..a738746b7e1e3 100644 --- a/src/content/docs/fr/guides/content.mdx +++ b/src/content/docs/fr/guides/content.mdx @@ -51,7 +51,7 @@ Les fichiers Markdown et MDX qui résident dans votre dossier `src/pages` géné ### Contenu local -Vous pouvez également choisir de garder vos fichiers Markdown et MDX en dehors du dossier `src/pages` et, à la place, d'[importer leur contenu](/fr/guides/markdown-content/#importer-du-contenu-markdown) dans vos pages `.astro`. +Vous pouvez également choisir de garder vos fichiers Markdown et MDX en dehors du dossier `src/pages` et, à la place, d'[importer leur contenu](/fr/guides/markdown-content/#importation-de-markdown) dans vos pages `.astro`. ### Collections de contenu @@ -59,7 +59,7 @@ Les [collections de contenu](/fr/guides/content-collections/) d'Astro fournissen ### Contenu distant -Vous pouvez aussi [récupérer du Markdown à distance](/fr/guides/markdown-content/#récupérer-du-markdown-distant) provenant d'une source extérieure à votre projet. Cela nécessitera votre propre parseur Markdown, ou une intégration communautaire (par exemple [`astro-remote`](https://github.com/natemoo-re/astro-remote)). +Vous pouvez aussi [récupérer du Markdown à distance](/fr/guides/markdown-content/#récupérer-du-markdown-à-distance) provenant d'une source extérieure à votre projet. Cela nécessitera votre propre parseur Markdown, ou une intégration communautaire (par exemple [`astro-remote`](https://github.com/natemoo-re/astro-remote)). ## Présenter votre contenu diff --git a/src/content/docs/fr/guides/markdown-content.mdx b/src/content/docs/fr/guides/markdown-content.mdx index 130d3901d1388..07d6f9813cc26 100644 --- a/src/content/docs/fr/guides/markdown-content.mdx +++ b/src/content/docs/fr/guides/markdown-content.mdx @@ -1,6 +1,6 @@ --- -title: Markdown & MDX -description: Apprenez à créer du contenu en utilisant Markdown ou MDX avec Astro. +title: Markdown +description: Apprenez à créer du contenu en utilisant Markdown avec Astro. i18nReady: true --- import Since from '~/components/Since.astro'; @@ -9,225 +9,29 @@ import RecipeLinks from "~/components/RecipeLinks.astro"; import ReadMore from '~/components/ReadMore.astro'; import { Steps } from '@astrojs/starlight/components'; -Le [Markdown](https://daringfireball.net/projects/markdown/) est couramment utilisé pour créer des contenus à forte teneur en texte, tels que des articles de blog et de la documentation. Astro inclut une prise en charge intégrée des fichiers Markdown standard qui peuvent également inclure un [frontmatter YAML](https://dev.to/paulasantamaria/introduction-to-yaml-125f) pour définir des métadonnées personnalisées telles qu'un titre, une description et des balises. +Le [Markdown](https://daringfireball.net/projects/markdown/) est couramment utilisé pour créer des contenus à forte teneur en texte, tels que des articles de blog et de la documentation. Astro inclut une prise en charge intégrée des fichiers Markdown standard qui peuvent également inclure un [frontmatter YAML](https://dev.to/paulasantamaria/introduction-to-yaml-125f) pour définir des propriétés personnalisées telles qu'un titre, une description et des balises. -Avec [l'intégration @astrojs/mdx](/fr/guides/integrations-guide/mdx/) installée, Astro supporte aussi les fichiers [MDX](https://mdxjs.com/) (`.mdx`) qui apportent des fonctionnalités supplémentaires, telles que la prise en charge des expressions et des composants JavaScript dans votre contenu Markdown. +Dans Astro, vous pouvez créer du contenu en Markdown, puis l'afficher dans des composants `.astro`. Cela combine un format d'écriture familier conçu pour le contenu avec la flexibilité de la syntaxe et de l'architecture des composants d'Astro. -Utilisez l'un ou les deux types de fichiers pour écrire du contenu Markdown ! +Pour des fonctionnalités supplémentaires, telles que l'inclusion de composants et d'expressions JSX dans Markdown, ajoutez l'intégration [`@astrojs/mdx`](/fr/guides/integrations-guide/mdx/) pour écrire votre contenu Markdown en utilisant [MDX](https://mdxjs.com/). -## Pages Markdown et MDX +## Organiser les fichiers Markdown -### Collections de contenu +Vos fichiers Markdown locaux peuvent être conservés n'importe où dans votre répertoire `src/`. Ils peuvent être importés dans les composants `.astro` en utilisant une instruction `import` pour un seul fichier et `import.meta.glob()` de Vite pour interroger plusieurs fichiers à la fois. -Vous pouvez gérer vos fichiers Markdown et MDX dans Astro dans un dossier spécial `src/content/`. Les [collections de contenu](/fr/guides/content-collections/) vous aident à organiser votre contenu, à valider vos frontmatter et fournir un type-safety TypeScript automatique lorsque que vous travaillez sur votre contenu. +Si vous avez des groupes de fichiers Markdown apparentés, envisagez de les [définir comme des collections](/fr/guides/content-collections/). Cela présente plusieurs avantages, notamment la possibilité de stocker les fichiers Markdown n'importe où sur votre système de fichiers ou à distance. - - - src/content/ - - **newsletter/** - - week-1.md - - week-2.md - - **authors/** - - grace-hopper.md - - alan-turing.md - +Les collections vous permettent également d'utiliser une API optimisée et spécifique au contenu pour interroger et afficher votre contenu. Les collections sont destinées aux ensembles de données qui partagent la même structure, tels que les articles de blog ou les pages de produits. Lorsque vous définissez cette forme dans un schéma, vous bénéficiez en outre de la validation, de la sécurité des types et de l'Intellisense dans votre éditeur. +{/* En savoir plus sur [quand utiliser les collections de contenu](/fr/guides/content-collections/#quand-créer-une-collection) au lieu des importations de fichiers. */} +## Expressions dynamiques de type JSX -Pour en savoir plus sur l'utilisation des [collections de contenu dans Astro](/fr/guides/content-collections/). +Après avoir importé ou analysé des fichiers Markdown, vous pouvez écrire des modèles HTML dynamiques dans vos composants `.astro` qui incluent les données du frontmatter et le contenu du corps du texte. - -### Routage basé sur les fichiers - -Astro traite n'importe quel fichier `.md` (ou une autre extension prise en charge) ou `.mdx` à l'intérieur du répertoire `/src/pages/` comme une page. - -Placer un fichier dans ce répertoire, ou dans un sous-répertoire, construira automatiquement une route vers cette page en utilisant le chemin du fichier. - -```markdown ---- -# Exemple: src/pages/page-1.md -title: Hello, World ---- - -# Bonjour à tous ! - -Ce fichier Markdown créer une page à l'adresse `ton-domaine.com/page-1/` - -Ce n'est probablement pas suffisamment stylisé, mais le Markdown supporte : -- **gras** et _italique._ -- listes -- [liens](https://astro.build) -- Et plus encore ! -``` - -En savoir plus sur le [routage basé sur les fichiers d'Astro](/fr/guides/routing/) ou les options pour créer des [routes dynamiques](/fr/guides/routing/#routes-dynamiques). - - -## Fonctionnalités de Markdown - -Astro offre quelques fonctions Markdown supplémentaires intégrées, disponibles lors de l'utilisation de fichiers Markdown et MDX. - -### Frontmatter `layout` - -Astro fournit des [pages Markdown et MDX](/fr/basics/astro-pages/#pages-markdownmdx) (situées dans `src/pages/`) avec une propriété spéciale `layout` qui peut spécifier un chemin relatif (ou [alias](/fr/guides/imports/#alias)) vers un [composant de mise en page](/fr/basics/layouts/#mises-en-page-markdown) Astro. - -```markdown {3} ---- -# src/pages/posts/post-1.md -layout: ../../layouts/BlogPostLayout.astro -title: Astro en bref -author: Himanshu -description: Découvrez ce qui rend Astro génial ! ---- -Il s'agit d'un billet écrit en Markdown. -``` - -[Les propriétés spécifiques sont alors disponibles pour le composant de mise en page](/fr/basics/layouts/#propriétés-de-mise-en-page-markdown) à travers `Astro.props`. Par exemple, vous pouvez accéder aux propriétés du frontmatter par l'intermédiaire de `Astro.props.frontmatter`: - -```astro /frontmatter(?:.\w+)?/ ---- -// src/layouts/BlogPostLayout.astro -const {frontmatter} = Astro.props; ---- - - -

{frontmatter.title}

-

Auteur de l'article : {frontmatter.author}

-

{frontmatter.description}

- - - -``` - -Vous pouvez également [styliser votre Markdown](/fr/guides/styling/#style-markdown) dans votre composant de mise en page. - -En savoir plus sur les [mises en page Markdown](/fr/basics/layouts/#mises-en-page-markdown). - -### Identifiants d'En-tête - -L'utilisation d'en-tête en Markdown et MDX va automatiquement vous donner des liens d'ancrage afin que vous puissiez accéder directement à certaines sections de votre page. - -```markdown title="src/pages/page-1.md" ---- -title: Ma page de contenu +```md title="/src/posts/great-post.md" --- -## Introduction - -Je peux créer des liens internes vers [ma conclusion](#conclusion) sur la même page lors de l'écriture en Markdown. - -## Conclusion - -Je peux utiliser l'URL `https://exemple.com/page-1/#introduction` pour naviguer directement vers mon Introduction sur la page. -``` - -Astro génère des `id`s de rubrique basés sur `github-slugger`. Vous pouvez trouver plus d'exemples dans [la documentation de github-slugger](https://github.com/Flet/github-slugger#usage). - -### Caractères spéciaux d'échappement - -Certains caractères ont une signification spéciale en Markdown et MDX. Vous devez utiliser une syntaxe différente si vous souhaitez les afficher. Pour ce faire, vous pouvez utiliser les [entités HTML](https://developer.mozilla.org/fr/docs/Glossary/Entity) à la place de ces caractères. - -Par exemple, pour prévenir `<` d'être interprété comme le début d'une base HTML, écrivez `<`. Ou, pour prévenir `{` d'être interprété comme le début d'une expression JavaScript en MDX, écrivez `{`. - -## Fonctionnalités MDX uniquement - -L'ajout de [l'intégration Astro MDX](/fr/guides/integrations-guide/mdx/) améliore votre création de Markdown avec des variables, des expressions et des composants JSX. - -Il ajoute aussi des fonctionnalités supplémentaires au MDX standard, notamment la prise en charge du [frontmatter de style Markdown dans MDX](https://mdxjs.com/guides/frontmatter/). Cela vous permet d'utiliser la plupart des fonctionnalités Markdown intégrées d'Astro, comme la propriété de [frontmatter `layout`](#frontmatter-layout). - -Les fichiers `.mdx` doivent être écrit dans la [syntaxe MDX](https://mdxjs.com/docs/what-is-mdx/#mdx-syntax) plutôt que dans la syntaxe de type HTML d'Astro. - -### Utilisation de variables exportées dans MDX - -MDX permet d'utiliser l'instruction `export` pour ajouter des variables dans votre contenu MDX. Ces variables sont accessibles à la fois dans le modèle lui-même et comme propriétés nommées lors de [l'importation du fichier](#importer-du-contenu-markdown) à un autre endroit. - -Par exemple, vous pouvez exporter un champ `title` depuis une page ou un composant MDX pour l'utiliser en tant qu'en-tête avec les `{expressions JSX}` : - -```mdx title="/src/pages/posts/post-1.mdx" -export const title = 'Mon premier billet sur le MDX' - -# {title} -``` -### Utilisation de variables frontmatter en MDX - -L'intégration MDX d'Astro inclut le support pour l'utilisation par défaut de frontmatter en MDX. Ajoutez les propriétés de frontmatter comme vous le feriez dans des fichiers Markdown, et ces variables sont accessibles pour être utilisées dans la template, dans son [composant `layout`](#frontmatter-layout), et comme propriétés nommées lors de l'[importation du fichier](#importer-du-contenu-markdown) ailleurs. - -```mdx title="/src/pages/posts/post-1.mdx" ---- -layout: '../../layouts/BlogPostLayout.astro' -title: 'Mon premier billet MDX' ---- - -# {frontmatter.title} -``` - -### Utilisation des composants en MDX - -Après avoir installé l'intégration MDX, vous pouvez importer et utiliser les [composants Astro](/fr/basics/astro-components/#props-de-composant) et les [composants de framework d'interface utilisateur](/fr/guides/framework-components/#utilisation-des-composants-de-framework) dans des fichiers MDX (`.mdx`) comme vous le feriez avec n'importe quel autre composant Astro. - -N'oubliez pas d'inclure une `client:directive` sur les composants de votre framework d'interface utilisateur, si nécessaire ! - -Vous trouverez d'autres exemples d'utilisation des instructions d'importation et d'exportation dans la [documentation MDX](https://mdxjs.com/docs/what-is-mdx/#esm). - -```mdx title="src/pages/about.mdx" {5-6} /<.+\/>/ ---- -layout: ../layouts/BaseLayout.astro -title: À propos de moi ---- -import Button from '../components/Button.astro'; -import ReactCounter from '../components/ReactCounter.jsx'; - -Je vis sur **Mars** mais n'hésitez pas à