Jamdesk Documentation logo

Snippets

Bloques de contenido reutilizables que puedes importar en múltiples páginas. Almacena texto común, componentes o código en el directorio de snippets.

Los snippets son bloques de contenido reutilizables almacenados en un directorio /snippets. Impórtalos en cualquier página MDX para evitar duplicar contenido.

Crear Snippets

Crea un directorio /snippets en la raíz de tu documentación:

my-docs/
├── docs.json
├── introduction.mdx
└── snippets/
    ├── prerequisites.mdx
    ├── installation.mdx
    └── support-cta.mdx

Escribe el contenido del snippet como cualquier archivo MDX, pero sin frontmatter:

snippets/prerequisites.mdx
Before you begin, make sure you have:

- Node.js 20 or higher
- A GitHub account
- A text editor (VS Code recommended)

Usar Snippets

Importa y usa snippets en tus páginas:

getting-started.mdx
---
title: Getting Started
---

## Prerequisites


<Prerequisites />

## Installation

Continue with your page content...

Componentes en Snippets

Los snippets pueden contener componentes de Jamdesk:

snippets/support-cta.mdx
<Columns cols={2}>
  <Card title="Documentation" icon="book" href="/docs">

    Browse our guides

</Card>
  <Card title="Contact Support" icon="headset" href="/support">

    Get help from our team

</Card>
</Columns>

Úsalo en múltiples páginas:


## Need Help?

<SupportCTA />

Snippets Interactivos

Para snippets que necesitan React hooks (useState, useEffect, etc.), usa archivos .tsx con la directiva 'use client':

snippets/counter.tsx
'use client';

import { useState } from 'react';

export function Counter() {
  const [count, setCount] = useState(0);
  return (
    <button onClick={() => setCount(c => c + 1)}>
      Count: {count}
    </button>
  );
}

Importa en MDX:


<Counter />

La directiva 'use client' es obligatoria para cualquier componente que use React hooks. Sin ella, obtendrás errores de "useState is not defined".

Snippets Parametrizados

Pasa props para hacer los snippets dinámicos:

snippets/api-key-warning.mdx
export const ApiKeyWarning = ({ service }) => (
  <Warning>

    Never commit your {service} API key to version control. Use environment variables instead.

</Warning>
);

Úsalo con props:


<ApiKeyWarning service="Stripe" />

Organizar Snippets

Para proyectos más grandes, organiza los snippets en subdirectorios:

snippets/
├── components/
│   ├── cta-cards.mdx
│   └── feature-table.mdx
├── warnings/
│   ├── api-key.mdx
│   └── deprecation.mdx
└── shared/
    ├── prerequisites.mdx
    └── support-links.mdx

Importa con la ruta completa:


Casos de Uso Comunes

Caso de usoEjemplo
Requisitos previosRequisitos del sistema, configuración de cuenta
Pasos de instalaciónComandos de instalación CLI en múltiples plataformas
Autenticación APIConfiguración de autenticación repetida en múltiples endpoints
CTAs de soporteEnlaces de contacto al final de páginas de solución de problemas
Avisos de obsolescenciaAdvertencias para funcionalidades desactualizadas
Ejemplos de códigoPatrones de código reutilizables

Snippet vs Componente Inline

CaracterísticaSnippetComponente Inline
Reutilizable en múltiples páginasNo (específico de página)
Puede usar React hooksSí (con 'use client')No
Puede importar paquetes externosSí (archivos .tsx)No
SintaxisDeclaración de importaciónexport const en MDX

Usa snippets para contenido que aparece en múltiples páginas. Usa componentes inline para componentes de presentación únicos dentro de una sola página.

¿Qué sigue?

Componentes React Personalizados

Define componentes inline en MDX

Conceptos Básicos de MDX

Aprende los fundamentos de MDX