Crea fragmentos de contenido reutilizables con variables para mantener la coherencia entre páginas y reducir la duplicación en tus archivos MDX.
Uno de los principios fundamentales del desarrollo de software es DRY (Don’t Repeat Yourself), que también se aplica a la documentación. Si te encuentras repitiendo el mismo contenido en varios lugares, crea un fragmento personalizado para ese contenido. Los fragmentos incluyen contenido que puedes importar en otros archivos para reutilizarlo. Tú controlas dónde aparece el fragmento en una página. Si alguna vez necesitas actualizar el contenido, solo tendrás que editar el fragmento en lugar de cada archivo donde se use.
Actualmente, los fragmentos no son compatibles con el editor web. Para usar fragmentos, edita tus archivos MDX localmente con la CLI o envía las importaciones de fragmentos directamente a tu repositorio.
Los snippets son archivos .mdx, .md o .jsx que se importan en otro archivo. Puedes colocar los archivos de snippets en cualquier parte de tu proyecto.Cuando importas un snippet en otro archivo, el snippet solo aparece donde lo importas y no se renderiza como una página independiente. Cualquier archivo en la carpeta /snippets/ siempre se considera un snippet, incluso si no se importa en otro archivo.
Crea un archivo con el contenido que quieras reutilizar. Los snippets pueden contener todos los tipos de contenido compatibles con Mintlify y pueden importar otros snippets. Consulta Snippets anidados para saber dónde declarar las importaciones al anidarlos.
Importa fragmentos en las páginas usando una ruta absoluta o relativa.
Importaciones absolutas: Comienzan con / para importaciones desde la raíz de tu proyecto.
Importaciones relativas: Usa ./ o ../ para importar fragmentos en relación con la ubicación del archivo actual.
Las importaciones relativas habilitan la navegación en el IDE. Pulsa CMD y haz clic en el nombre de un fragmento en tu editor para ir directamente a su definición.
Añade al archivo de fragmento el contenido que quieras reutilizar.
shared/my-snippet.mdx
Hello world! This is my content I want to reuse across pages.
Importa el snippet en tu archivo de destino utilizando una ruta absoluta o relativa.
---title: "Una página de ejemplo"description: "Esta es una página de ejemplo que importa un snippet."---import MySnippet from "/shared/my-snippet.mdx";El contenido del snippet aparece debajo de esta frase.<MySnippet />
---title: "Una página de ejemplo"description: "Esta es una página de ejemplo que importa un snippet."---import MySnippet from "../shared/my-snippet.mdx";El contenido del snippet aparece debajo de esta frase.<MySnippet />
Los snippets pueden importar otros snippets. Declara la importación en el archivo del snippet que usa el snippet anidado, no en la página que importa el snippet principal.Cada archivo resuelve sus propias importaciones. Las importaciones declaradas en una página no se aplican al contenido de los snippets que la página importa, por lo que un snippet anidado que dependa de una importación a nivel de página puede renderizarse como contenido vacío.
Importa el snippet anidado en el archivo del snippet principal. Declara la importación donde quieras usar el snippet anidado.
shared/parent-snippet.mdx
import ChildSnippet from "/shared/child-snippet.mdx";Este snippet renderiza otro snippet debajo de esta frase.<ChildSnippet />
Importa solo el snippet principal en tu archivo de destino. No necesitas importar el snippet anidado.
destination-file.mdx
---title: "Una página de ejemplo"description: "Esta es una página de ejemplo que importa un snippet que contiene un snippet anidado."---import ParentSnippet from "/shared/parent-snippet.mdx";<ParentSnippet />
Importa el fragmento desde tu archivo de destino y usa la variable.
destination-file.mdx
---title: "Una página de ejemplo"description: "Esta es una página de ejemplo que importa un fragmento con variables."---import { myName, myObject } from "/shared/custom-variables.mdx";Hello, my name is {myName} and I like {myObject.fruit}.
Usa variables para pasar datos a un fragmento cuando lo importes.
Añade variables a tu fragmento y pásales propiedades cuando lo importes. En este ejemplo, la variable es {word}.
shared/my-snippet.mdx
Mi palabra clave del día es {word}.
Importa el fragmento en tu archivo de destino con la variable. La propiedad pasada reemplaza la variable en la definición del fragmento.
destination-file.mdx
---title: "Una página de ejemplo"description: "Esta es una página de ejemplo que importa un fragmento con una variable."---import MySnippet from "/shared/my-snippet.mdx";<MySnippet word="bananas" />
Las variables también se interpolan dentro de bloques de código delimitados. Esto resulta útil para fragmentos que incluyen comandos de instalación u otros ejemplos de código que varían según el nombre del paquete, la versión o el entorno.
Al crear fragmentos de JSX, usa la sintaxis de funciones flecha (=>) en lugar de declaraciones de función. La palabra clave function no es compatible en los fragmentos.
Importa el fragmento.
destination-file.mdx
---title: "Una página de ejemplo"description: "Esta es una página de ejemplo que importa un fragmento con un componente de React."---import { MyJSXSnippet } from "/components/my-jsx-snippet.jsx";<MyJSXSnippet />