Markdown
Componente para renderizar conteúdo markdown com componentes customizados e estilos consistentes.
Título Principal
Subtítulo
Título Menor
Este é um texto em negrito e este é um texto em itálico.- Item da lista 1
- Item da lista 2
- Item da lista 3
- Item numerado 1
- Item numerado 2
- Item numerado 3
código inline e um link.Utilização
index.tsx
import { Markdown } from "@convertcompany/ui/markdown";
Exemplos
Títulos
O componente Markdown suporta diferentes níveis de títulos usando #, ##, ###, etc.
Título H1
Título H2
Título H3
Título H4
Título H5
Título H6
Listas
Suporte para listas ordenadas e não ordenadas.
Lista não ordenada:
- Item 1
- Item 2
- Item 3
- Primeiro item
- Segundo item
- Terceiro item
Links
Links são renderizados com o componente Link customizado.
Aqui está um link simples. Você também pode usar links com texto descritivo: Visite nossa documentação para mais informações.
Conteúdo misto
Exemplo de conteúdo markdown com diferentes elementos combinados.
Documentação do Projeto
Introdução
Este é um exemplo de documentação usando o componente Markdown.Funcionalidades
- Renderização de markdown com componentes customizados
- Suporte a links e
código inline - Listas ordenadas e não ordenadas
- Diferentes níveis de títulos
Props
| Propriedade | Tipo |
|---|---|
| childrenO conteúdo markdown a ser renderizado. | string |
| idID único para o componente (opcional, será gerado automaticamente se não fornecido). | string |
| classNameClasse CSS adicional para customização do container. | string |
| componentsObjeto com componentes customizados para sobrescrever a renderização padrão dos elementos markdown. | Partial<Components> |
Componentes Padrão
O componente Markdown usa os seguintes componentes padrão para renderizar elementos markdown:
- h1, h2, h3: Componentes
Titlecom tamanhos apropriados - p: Elemento
spanpara parágrafos - strong: Elemento
strongpara texto em negrito - u: Elemento
upara texto sublinhado - a: Componente
Linkcom variante "arrow" e target="_blank" - code: Componente
InlineCodepara código inline - ol, ul: Listas ordenadas e não ordenadas com estilos apropriados
- li: Itens de lista
- pre: Container para blocos de código (renderiza apenas os children)
Performance
O componente Markdown é otimizado para performance:
- Memoização: O componente principal e os blocos individuais são memoizados
- Parsing eficiente: Usa a biblioteca
markedpara parsing do markdown - Renderização por blocos: Divide o conteúdo em blocos para renderização mais eficiente
- Re-renderização controlada: Só re-renderiza quando o conteúdo muda