Um renderizador leve e síncrono que converte texto de diagramas Mermaid em SVG, sem dependências em tempo de execução.
lukilabs/beautiful-mermaid
Uma biblioteca TypeScript que renderiza diagramas Mermaid em SVG personalizável por tema ou texto ASCII/Unicode, sem dependências do DOM.
- Estrelas
- 11,200
- Forks
- 411
- Issues abertas
- 93
- Último commit
- há 6 meses
O que é?
beautiful-mermaid transforma o código-fonte de diagramas Mermaid em strings SVG ou arte em texto simples ASCII/Unicode. Dá suporte a diagramas de fluxo, de estados, de sequência, de classes e ER, além de gráficos XY com séries de barras, linhas e combinações.
A renderização é síncrona, então a saída SVG pode ser calculada diretamente durante uma renderização do React com useMemo. Os temas são definidos com duas cores — plano de fundo e primeiro plano — e podem incluir cores de destaque e atenuadas. As cores são expostas como propriedades CSS personalizadas, permitindo aplicar mudanças de tema sem renderizar novamente. A biblioteca também inclui 15 temas integrados e pode converter qualquer tema Shiki (VS Code) em cores para diagramas.
O renderizador ASCII é uma adaptação em TypeScript do projeto Go mermaid-ascii, ampliada com suporte a diagramas de sequência, de classes e ER. Ele pode gerar caracteres Unicode de desenho de caixas ou apenas ASCII, com colorização ANSI ou HTML opcional para uso em terminais.
Recursos principais
- 01Renderiza diagramas de fluxo, de estados, de sequência, de classes, ER e gráficos XY
- 02Gera SVG para interfaces web ou texto ASCII/Unicode para terminais
- 03API síncrona que funciona durante a renderização do React com useMemo
- 04Temas definidos a partir de duas cores, com 15 temas integrados
- 05Aceita qualquer tema Shiki/VS Code por meio de fromShikiTheme
- 06Permite trocar de tema em tempo real por meio de propriedades CSS personalizadas
Casos de uso
- Exibir diagramas de fluxo ou outros diagramas gerados em uma interface de chat com IA ou de agentes
- Exibir diagramas Mermaid em um app React sem carregamento assíncrono
- Imprimir diagramas de arquitetura ou de estados em ferramentas CLI e na saída do terminal
- Combinar as cores dos diagramas com um tema existente do editor ou do app
Início rápido
- 1
Instale o pacote com npm
npm install beautiful-mermaid - 2
Renderize um fluxograma em SVG no código
Antes de usar
- A renderização é síncrona, mas o layout do ELK.js é executado por meio de um bypass de FakeWorker, então diagramas muito grandes podem demorar mais.
- O README lista apenas seis tipos de diagrama; outros tipos de diagrama do Mermaid não são contemplados.
Tópicos
Perguntas frequentes
- O que é beautiful-mermaid?
- Uma biblioteca TypeScript que renderiza diagramas Mermaid em SVG personalizável por tema ou texto ASCII/Unicode, sem dependências do DOM. beautiful-mermaid transforma o código-fonte de diagramas Mermaid em strings SVG ou arte em texto simples ASCII/Unicode. Dá suporte a diagramas de fluxo, de estados, de sequência, de classes e ER, além de gráficos XY com séries de barras, linhas e combinações.
- beautiful-mermaid é gratuito? Qual é a licença?
- beautiful-mermaid é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
- beautiful-mermaid ainda é mantido?
- Atualizado nos últimos 6 meses. O último commit de beautiful-mermaid foi em 6 de mai. de 2026.
- Para que posso usar beautiful-mermaid?
- Exibir diagramas de fluxo ou outros diagramas gerados em uma interface de chat com IA ou de agentes Exibir diagramas Mermaid em um app React sem carregamento assíncrono Imprimir diagramas de arquitetura ou de estados em ferramentas CLI e na saída do terminal Combinar as cores dos diagramas com um tema existente do editor ou do app
- Como instalar beautiful-mermaid?
- Instale o pacote com npm: npm install beautiful-mermaid Renderize um fluxograma em SVG no código
- Onde consigo beautiful-mermaid?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/lukilabs/beautiful-mermaid
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Uma CLI que gera gráficos no terminal (ASCII, sparklines, barras, colunas, mapas de calor, braille e SVG) a partir de texto com números.
Uma skill para Claude e agentes de programação que transforma uma especificação JSON curta em diagramas animados e interativos, exportáveis como SVG, PNG, GIF ou MP4.
Um design system open source para React com mais de 150 componentes acessíveis, temas e CLI, desenvolvido com React 19 e StyleX.
Editor visual no navegador para criar e manipular dados de SVG path com pontos arrastáveis e um painel de comandos.
Um app web que transforma esboços em texto simples em fluxogramas e diagramas, desenvolvido com React e cytoscape.js.