Referencia de Markdown
Importa Markdown desde el paquete raíz publicado:
import { Markdown } from '@mauriciodmo/framekit'Propiedades
Sección titulada «Propiedades»interface MarkdownProps { value: string lists?: boolean className?: string style?: React.CSSProperties}valuees la cadena que se renderiza y es obligatoria.liststienefalsecomo valor predeterminado. Establécelo entruepara analizar bloques de líneas y listas.classNamese aplica al elemento externo.stylese aplica al elemento externo.
Si lists se omite o es false, el componente renderiza el formato en línea dentro de un span. Con lists={true}, renderiza los bloques analizados dentro de un div.
Formato en línea compatible
Sección titulada «Formato en línea compatible»El analizador reconoce estas formas no vacías en una misma línea:
| Sintaxis | Resultado |
|---|---|
**text** |
<strong> |
*text* |
<em> |
_text_ |
<em> |
~~text~~ |
<del> |
El resto del texto se renderiza como texto. El subconjunto compatible no incluye enlaces, encabezados, fragmentos de código, bloques de código, citas, tablas ni sintaxis Markdown anidada.
<Markdown value="A **strong** and *emphasized* ~~removed~~ message." />Listas y bloques de líneas
Sección titulada «Listas y bloques de líneas»El análisis de listas se habilita explícitamente:
<Markdown lists value={'Choose one:\n- First option\n- Second option\n\n1. One\n2. Two'}/>Los marcadores de lista compatibles son:
- listas no ordenadas:
-o*, seguidos de uno o más caracteres de espacio en blanco y un elemento no vacío; - listas ordenadas: uno o más dígitos seguidos de
.o), después uno o más caracteres de espacio en blanco y un elemento no vacío.
Las líneas consecutivas del mismo tipo se agrupan en una sola lista. Las listas no ordenadas se renderizan como <ul> y las ordenadas como <ol>. Las líneas que no son listas se renderizan con formato en línea y, si no son el último bloque, van seguidas de un elemento <br>. No se admiten listas anidadas ni otras construcciones Markdown de bloque.
Markdown es un renderizador para este contrato de entrada limitado, no un analizador Markdown general. Usa únicamente las formas descritas aquí cuando el contenido deba renderizarse de forma consistente en una plantilla o un componente de marca.