Saltar al contenido principal
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.

Cómo funcionan los snippets

Los snippets son archivos .mdx, .md, .js 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.

Crear snippets

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.

Importar fragmentos en páginas

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.
El nombre que usas para renderizar un fragmento importado como una etiqueta JSX debe empezar con una letra mayúscula, como MySnippet. MDX trata las etiquetas en minúsculas, como <mySnippet />, como nombres literales de elementos HTML o elementos personalizados, en lugar de referencias a fragmentos importados. Usa PascalCase para los nombres de fragmentos como convención.
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.

Importar texto

  1. Añade al archivo de fragmento el contenido que quieras reutilizar.
    shared/my-snippet.mdx
  2. Importa el snippet en tu archivo de destino utilizando una ruta absoluta o relativa.

Snippets anidados

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 a los snippets que la página importa. Un snippet anidado que dependa de una importación a nivel de página puede renderizarse como contenido vacío.
  1. Importa el snippet anidado en el archivo del snippet principal. Declara la importación donde quieras usar el snippet anidado.
    shared/parent-snippet.mdx
  2. Importa solo el snippet principal en tu archivo de destino. No necesitas importar el snippet anidado.
    destination-file.mdx

Importar variables

Haz referencia a variables de un fragmento en una página.
  1. Exporta variables desde un archivo de fragmento.
    shared/custom-variables.mdx
  2. Importa el fragmento desde tu archivo de destino y usa la variable.
    destination-file.mdx
Los navegadores evalúan las expresiones MDX, como las variables importadas ({myName}) y las expresiones en línea ({1 + 1}). Sus valores no aparecen en el HTML inicial de una página ni en las exportaciones sin conexión, por lo que los rastreadores, los LLM y otras herramientas que no ejecutan JavaScript solo ven el texto que las rodea. Si esos valores deben ser visibles en esas situaciones, escríbelos como texto plano.

Importar fragmentos con variables

Usa variables para pasar datos a un fragmento cuando lo importes.
  1. Añade variables a tu fragmento y pásales propiedades cuando lo importes. En este ejemplo, la variable es {word}.
    shared/my-snippet.mdx
  2. 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
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.
shared/install-snippet.mdx
destination-file.mdx

Importar componentes de React

  1. Crea un fragmento con un componente JSX. Consulta Componentes de React para obtener más información.
    components/my-jsx-snippet.jsx
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.
  1. Importa el fragmento.
    destination-file.mdx

Renderizar contenido a partir de datos estructurados

Mantén datos como una lista de componentes del SDK, una matriz de compatibilidad o un conjunto de planes en un solo fragmento y renderízalos en varias páginas. Cuando modifiques los datos, se actualizarán todas las tablas, listas o tarjetas construidas a partir de ellos. Almacena los datos como un objeto JSON simple en un fragmento .js con una exportación con nombre. Después, escribe un fragmento .jsx que convierta los datos en marcado.
Los fragmentos deben ser archivos .mdx, .md, .js o .jsx. No puedes importar directamente un archivo .json o .yaml. Mantén los datos en un fragmento .js, o bien genera uno a partir de tu fuente JSON o YAML.
1

Exporta los datos desde un fragmento

snippets/sdk-components.js
2

Crea un fragmento que renderice los datos

Recorre los datos con map() y devuelve elementos HTML o componentes de Mintlify.
snippets/components-table.jsx
3

Importa ambos fragmentos y pasa los datos como una propiedad

Filtra u ordena los datos en la página para mostrar un subconjunto sin duplicarlos.
destination-file.mdx

Generar fragmentos y páginas a partir de JSON o YAML

Si almacenas datos en un archivo JSON o YAML, genera los fragmentos a partir de esos datos de origen. Usa un script para escribir el fragmento de datos con una página por cada entrada y crear el grupo de navegación correspondiente. Ejecuta el script en CI cada vez que cambie el archivo de origen y confirma el resultado.
1

Escribe el generador

Este script lee sdk-components.yaml, escribe el fragmento del ejemplo anterior, crea una página para cada componente y reemplaza las páginas del grupo de navegación llamado “Components” en docs.json.
scripts/generate-docs.mjs
Para una fuente JSON, reemplaza parse() por JSON.parse() y omite la dependencia yaml. Ejecutar el script dos veces produce archivos idénticos, por lo que es seguro ejecutarlo en cada push.
2

Ejecútalo en una GitHub Action

El workflow se ejecuta cuando cambia el archivo de origen o el script, y luego confirma lo que haya producido el script. El GITHUB_TOKEN por defecto no activa otros workflows cuando hace un push, por lo que el job no puede entrar en bucle. Mintlify despliega el push como cualquier otro commit.
.github/workflows/generate-docs.yml
Si almacenas el archivo de origen en otro repositorio, ejecuta el workflow allí en su lugar. Haz checkout del repositorio de documentación con un token que pueda hacer push a él, ejecuta el script y confirma los cambios.

Temas relacionados

GlosarioReactPlayground