Passer au contenu principal
L’un des principes fondamentaux du développement logiciel est DRY (Don’t Repeat Yourself), qui s’applique aussi à la documentation. Si vous vous retrouvez à répéter le même contenu à plusieurs endroits, créez un extrait personnalisé pour ce contenu. Les extraits contiennent du contenu que vous pouvez importer dans d’autres fichiers pour le réutiliser. Vous contrôlez l’endroit où l’extrait apparaît sur une page. Si vous devez un jour mettre à jour ce contenu, il vous suffit de modifier l’extrait plutôt que chaque fichier où l’extrait est utilisé.
Les snippets ne sont pas pris en charge dans l’éditeur web actuellement. Pour utiliser des snippets, modifiez vos fichiers MDX localement avec la CLI ou poussez les imports de snippets directement dans votre dépôt.

Fonctionnement des snippets

Les snippets sont des fichiers .mdx, .md, .js ou .jsx importés dans un autre fichier. Vous pouvez placer les fichiers de snippets n’importe où dans votre projet. Lorsque vous importez un snippet dans un autre fichier, celui-ci n’apparaît qu’à l’endroit où vous l’importez et n’est pas affiché comme une page autonome. Tout fichier dans le dossier /snippets/ est toujours un snippet, même s’il n’est pas importé dans un autre fichier.

Créer des snippets

Créez un fichier avec le contenu que vous souhaitez réutiliser. Les snippets peuvent contenir tous les types de contenu pris en charge par Mintlify et peuvent importer d’autres snippets. Consultez Snippets imbriqués pour savoir où déclarer les imports lors de l’imbrication.

Importer des snippets dans des pages

Importez des snippets dans des pages en utilisant soit un chemin absolu, soit un chemin relatif.
  • Imports absolus : commencez par / pour importer depuis la racine de votre projet.
  • Imports relatifs : utilisez ./ ou ../ pour importer des snippets par rapport à l’emplacement du fichier courant.
Le nom utilisé pour rendre un snippet importé sous forme de balise JSX doit commencer par une lettre majuscule, comme MySnippet. MDX traite les balises commençant par une minuscule, comme <mySnippet />, comme des noms littéraux d’éléments HTML ou d’éléments personnalisés plutôt que comme des références à des snippets importés. Par convention, utilisez la PascalCase pour les noms de snippets.
Les imports relatifs permettent la navigation dans l’IDE. Appuyez sur Cmd et cliquez sur le nom d’un snippet dans votre éditeur pour accéder directement à la définition de ce snippet.

Importer du texte

  1. Ajoutez à votre fichier de snippet le contenu que vous souhaitez réutiliser.
    shared/my-snippet.mdx
  2. Importez l’extrait dans votre fichier de destination à l’aide d’un chemin absolu ou relatif.

Snippets imbriqués

Les snippets peuvent en importer d’autres. Déclarez l’import dans le fichier du snippet qui utilise le snippet imbriqué, et non dans la page qui importe le snippet parent. Chaque fichier résout ses propres imports. Les imports déclarés dans une page ne s’appliquent pas aux snippets que la page importe. Un snippet imbriqué qui dépend d’un import déclaré au niveau de la page peut s’afficher comme du contenu vide.
  1. Importez le snippet imbriqué dans le fichier du snippet parent. Déclarez l’import à l’endroit où vous souhaitez utiliser le snippet imbriqué.
    shared/parent-snippet.mdx
  2. N’importez que le snippet parent dans votre fichier de destination. Vous n’avez pas besoin d’importer le snippet imbriqué.
    destination-file.mdx

Importer des variables

Faites référence à des variables issues d’un extrait dans une page.
  1. Exportez des variables depuis un fichier de fragment.
    shared/custom-variables.mdx
  2. Importez l’extrait depuis votre fichier de destination et utilisez la variable.
    destination-file.mdx
Les navigateurs évaluent les expressions MDX, comme les variables importées {myName} et les expressions en ligne {1 + 1}. Leurs valeurs n’apparaissent ni dans le HTML initial d’une page ni dans les exports hors ligne, de sorte que les crawlers, les LLM et les autres outils qui n’exécutent pas JavaScript ne voient que le texte qui les entoure. Écrivez les valeurs en texte brut si elles doivent être visibles dans ces situations.

Importer des extraits avec des variables

Utilisez des variables pour transmettre des données à un extrait lorsque vous l’importez.
  1. Ajoutez des variables à votre extrait et transmettez des propriétés lorsque vous l’importez. Dans cet exemple, la variable est {word}.
    shared/my-snippet.mdx
  2. Importez l’extrait dans votre fichier de destination en utilisant la variable. La propriété que vous transmettez remplace la variable dans la définition de l’extrait.
    destination-file.mdx
Les variables sont également interpolées à l’intérieur des blocs de code délimités. Cela est utile pour les extraits qui incluent des commandes d’installation ou d’autres exemples de code qui diffèrent selon le nom du package, la version ou l’environnement.
shared/install-snippet.mdx
destination-file.mdx

Importer des composants React

  1. Créez un extrait avec un composant JSX. Voir Composants React pour en savoir plus.
    components/my-jsx-snippet.jsx
Important : lors de la création d’extraits JSX, utilisez la syntaxe de fonction fléchée (=>) plutôt que des déclarations de fonction. Le mot‑clé function n’est pas pris en charge dans les extraits.
  1. Importez l’extrait.
    destination-file.mdx

Afficher du contenu à partir de données structurées

Conservez des données telles qu’une liste de composants SDK, une matrice de compatibilité ou un ensemble de forfaits dans un seul snippet et affichez-les sur plusieurs pages. Lorsque vous modifiez les données, chaque tableau, liste ou carte construit à partir d’elles est mis à jour. Stockez les données sous forme d’objet JSON simple dans un snippet .js avec un export nommé. Écrivez ensuite un snippet .jsx qui transforme les données en balisage.
Les snippets doivent être des fichiers .mdx, .md, .js ou .jsx. Vous ne pouvez pas importer directement un fichier .json ou .yaml. Conservez les données dans un snippet .js, ou générez-en un à partir de votre source JSON ou YAML.
1

Exporter les données depuis un snippet

snippets/sdk-components.js
2

Créer un snippet qui affiche les données

Parcourez les données avec map() et renvoyez des éléments HTML ou des composants Mintlify.
snippets/components-table.jsx
3

Importer les deux snippets et transmettre les données comme propriété

Filtrez ou triez les données dans la page pour afficher un sous-ensemble sans les dupliquer.
destination-file.mdx

Générer des snippets et des pages à partir de JSON ou YAML

Si vous stockez des données dans un fichier JSON ou YAML, générez des snippets à partir de ces données sources. Utilisez un script pour écrire le snippet de données avec une page par entrée et créer le groupe de navigation correspondant. Exécutez le script en CI chaque fois que le fichier source change et validez le résultat.
1

Écrire le générateur

Ce script lit sdk-components.yaml, écrit le snippet de l’exemple précédent, crée une page pour chaque composant et remplace les pages du groupe de navigation nommé “Components” dans docs.json.
scripts/generate-docs.mjs
Pour une source JSON, remplacez parse() par JSON.parse() et supprimez la dépendance yaml. Exécuter le script deux fois produit des fichiers identiques, il peut donc être exécuté à chaque push en toute sécurité.
2

L'exécuter dans une GitHub Action

Le workflow s’exécute lorsque le fichier source ou le script change, puis valide ce que le script a produit. Le GITHUB_TOKEN par défaut ne déclenche pas d’autres workflows quand il pousse, donc le job ne peut pas boucler. Mintlify déploie le push comme n’importe quel autre commit.
.github/workflows/generate-docs.yml
Si vous stockez le fichier source dans un autre dépôt, exécutez le workflow là-bas à la place. Récupérez le dépôt de documentation avec un jeton qui peut y pousser, exécutez le script et validez.