ReferenciaPipelinePerenneactualizado 2026.087 min de lectura
Referencia · el pipeline de Markdown, en escena

El muestrario

Cada elemento del pipeline de Markdown de este sitio actúa una vez en esta página: marcas inline, wikilinks, tablas que se convierten en tarjetas, callouts en tres escrituras, matemáticas, marcos de código, diagramas, atajos de emoji, extras de GFM — y el tiempo de lectura de la franja de arriba también sale del pipeline. Que la página compile es en sí la demostración: el guardián de contenido rechaza todas las escrituras malformadas listadas al final, así que lo que ves es lo que el dialecto acepta. Dos interruptores que este sitio deja apagados — el preset de numeración sections y el prefijo de subruta base — están descritos en la guía de primeros pasos.

4 partes · cada interruptor que este sitio enciende · la lista de rechazos del guardián al final

PART ITexto

§1.1Marcas inline

El análisis del énfasis es amigable con el CJK: la negrita cierra incluso pegada a puntuación china**报文。**同时 se renderiza como 报文。同时, y no como asteriscos literales. La cursiva, el tachado y el código inline funcionan como siempre; con el interruptor gemoji, un atajo como :sparkles: se renderiza como ✨. Los caracteres dentro del código inline no participan en ningún análisis, así que las comillas invertidas son la manera segura de mostrar sintaxis: **, $…$ y > [!note] aparecen tal cual. Para mostrar un asterisco en la prosa, escápalo — *así* se queda plano.

Con el interruptor wikilinks encendido, los enlaces [[de doble corchete]] se resuelven contra la colección de notas como una wiki espera: por id (design-tokens — desde una página del espejo español, el enlace prefiere el espejo del mismo idioma y solo cae en el original inglés si la nota no existe aquí), por alias (boundaries llega a la nota cuyo id es three-way-split) y con rótulo (la guía de primeros pasos). Un destino que no resuelve a nada se renderiza como enlace muerto marcado en lugar de tumbar el build — y la CLI check-wikilinks del motor lo reporta en CI, que es donde la podredumbre de enlaces pertenece.

§1.3Tablas: scroll cuando son anchas, tarjetas cuando el hueco es estrecho

Una tabla de seis columnas o más debería refluir a una tarjeta por fila en un contenedor estrecho, en lugar de estrujar cada celda a dos caracteres. Esta tabla de siete columnas es a la vez la chuleta de variantes de callout y una prueba en vivo de ese reflujo (encoge la ventana al ancho de un teléfono):

VarianteClasePalabras clave en la sintaxis de citaBordeFondoTítulo por defectoUso típico
notecalloutnote info赭 ocre --color-accent3fondo de fórmulas --color-math-bgNoteapuntes laterales neutros
intuitioncallout intuitiontip intuition hint黛 verde azulado --color-accent2fondo de fórmulasIntuitionanalogías que construyen intuición
warncallout warnwarn warning caution danger石 naranja tostado --color-accentmezcla de acento al 8%Warningaviso antes de pasos arriesgados
systemcallout systemimportant system紫 violeta --color-accent4mezcla de violeta al 8%Importantconvenciones a nivel de sistema
abstractcallout abstractabstract summary quotetinta tenue --color-ink-faintsuperficie suave --color-bg-softAbstractresúmenes de apertura de capítulo
badcallout bad(solo HTML crudo)石 naranja tostadomezcla de acento al 10%errores registrados, diseños descartados

Los títulos por defecto están en inglés; un sitio cambia el juego entero con la opción calloutLabels de siteMarkdown, p. ej. calloutLabels: { tip: 'Intuición · Intuition' }. Un título escrito en la sintaxis de cita (> [!tip] Mi título) siempre gana.

PART IICallouts y matemáticas

§2.1Callouts: tres escrituras

Primero, la sintaxis de cita de Obsidian/GitHub (disponible con callouts: true; funciona también en archivos de Markdown plano):

El marcador de plegado de Obsidian se respeta — > [!note]- se renderiza plegado, > [!note]+ abierto:

Una nota plegada

Haz clic en el título para abrirla. Los callouts plegados se renderizan como <details> con el título como su <summary>.

Segundo, el componente del paquete en MDX (astro-inkstone/components/Callout.astro, importado por ruta). Sin title muestra el rótulo por defecto de la variante, el mismo que usa la sintaxis de cita:

Tercero, HTML crudo, las seis variantes de una pasada (en correspondencia una a una con las reglas .callout de base.css):

Nota
Un apunte lateral neutro. La clase .callout sin modificar es exactamente esto.

Intuición
Filete izquierdo verde azulado, para párrafos sobre cómo pensarlo más que sobre qué es.

Aviso
Filete izquierdo naranja tostado sobre un fondo de acento al 8% — aparece antes del paso que puede salir mal.

Sistema
Filete izquierdo violeta, para convenciones a nivel de sistema: entiende por qué existe antes de cambiarla.

Resumen
Filete de tinta tenue sobre la superficie suave, para el repaso rápido a la cabeza de un capítulo.

Malo
Registra errores e implementaciones descartadas. Sin esta variante, el hecho de que algo está mal se pierde en silencio.

§2.2Matemáticas

Las fórmulas inline se asientan en el texto: la profundidad óptica se lee τ=κρds\tau = \int \kappa \rho \, \mathrm{d}s. Las fórmulas en display toman la forma de tres líneas ($$ en líneas propias) — el guardián rechaza la forma de una sola línea, que se renderizaría en silencio como una fórmula inline pequeña:

01x2dx=13\int_0^1 x^2 \, \mathrm{d}x = \frac{1}{3}

El fondo de las fórmulas es a propósito un papel distinto del cuerpo, y cambia con el tema. Y de paso: escapa los precios en dólares en la prosa — este café cuesta $3.

PART IIICódigo y diagramas

§3.1Marcos de código

Un bloque con title="…" recibe una barra de título con el nombre del archivo; el botón de copiar de la esquina es de todo el sitio. Las anotaciones de línea [!code ++] / [!code --] se renderizan como fondos de diff:

pipeline.py
def build_pipeline(opts):
    plugins = [remark_math]  
    plugins = [remark_gemoji, remark_math]  
    return assemble(plugins, guard=opts.guard)

Un marco con la marca collapse empieza plegado y solo ocupa espacio al abrirse — ideal para archivos de configuración largos:

inkstone.example.yamlExpandCollapse
yaml
site:
  markdown:
    numbering: chapters
    math: true
    codeFrame: true
    mermaid: true
    callouts: true
    wikilinks: true
  styles:
    - astro-inkstone/styles/tokens.css
    - astro-inkstone/styles/base.css

El resaltado de doble tema viene de shiki, que emite ambos juegos de color a la vez; base.css elige uno por data-theme en un único lugar — sin tira y afloja de especificidad.

§3.2Diagramas mermaid

Un bloque ```mermaid deja solo un marcador de posición en tiempo de build; el renderizador se carga dinámicamente solo en las páginas que llevan un diagrama (las que no llevan ninguno no pagan nada) y vuelve a renderizar cuando el tema cambia:

flowchart LR
  A["astro-inkbrush<br/>motor: edición / dialecto / guardián"] --> C["tu sitio<br/>identidad / rutas / despliegue"]
  B["astro-inkstone<br/>papel: tokens / estilos / pipeline"] --> C
  A -. un dialecto compartido .-> B

§3.3Extras de GFM

Las listas de tareas y las notas al pie llegan con GFM:

  • tokens importados
  • base.css importado
  • paleta de identidad sobrescrita

Una afirmación que merece fuente lleva su nota al pie.1

PART IVEl guardián

§4.1Lo que el guardián rechaza en esta página

Que esta página compile es en sí la demostración de que todo lo anterior está bien formado. Estas escrituras harían fallar el build en el acto (prueba una y luego npm run build):

  • un marcador de énfasis sin pareja posible, como un ** abierto al final de una línea;
  • $$x$$ en una sola línea (usa la forma de tres líneas);
  • títulos numerados a mano — escribir el título de esta sección como ## 9. Lo que el guardián… chocaría con la numeración de build y quedaría señalado;
  • MDX evaluando las llaves de tu prosa: {0,1,2,3} se renderizaría como un simple 3, así que el guardián exige la forma escapada {0,1,2,3};
  • una fórmula que KaTeX no puede renderizar (el guardián vuelve a renderizar cada fórmula en modo estricto en lugar de dejar que el texto rojo de error llegue a producción).

Footnotes

  1. Las notas al pie se renderizan al pie de la página con enlaces de vuelta, estilizadas por la capa de contenido.

Títulos, secciones y cuerpo del texto, en este idioma.
    ↑↓ · Enter · Escastro-inkstone