Sobre o projeto
D2 é uma linguagem específica de domínio usada para gerar diagramas a partir de texto. Os usuários escrevem arquivos .d2 descrevendo nós, conexões, formas e estilos, e o D2 os renderiza em diagramas visuais.
Principais recursos incluem:
- Uso de CLI: Execute `d2 --watch in.d2 out.svg` para produzir SVGs com recarregamento ao vivo em uma janela do navegador quando os arquivos são alterados.
- Formatos de exportação: SVG, PNG, GIF, PDF e PPTX.
- Motores de layout: Três motores embutidos — Dagro (padrão, layouts hierárquicos/em camadas, um port nativo de Go do Dagre), ELK (port nativo de Go adequado para diagramas de nós e links com direção e portas) e TALA (opt-in, projetado especificamente para diagramas de arquitetura de software). Layouts especializados para diagramas de sequência e grids também são suportados.
- Temas: Uma variedade de temas oficiais é fornecida com o D2 para estilização pronta para uso.
- Fontes: Inclui “Source Sans Pro”; fontes alternativas podem ser configuradas.
- Ferramentas de linguagem: O analisador relata vários erros, inclui um formatador automático, realce de sintaxe e suporte planejado para LSP. Extensões para VSCode e Vim estão disponíveis como plugins oficiais.
- Biblioteca Go: O D2 pode ser usado como uma biblioteca Go para produzir diagramas programaticamente.
- Renderização em modo sketch via rough-go (um port nativo de Go do Rough.js) e suporte a rótulos LaTeX via mathjax-go (um port nativo de Go do MathJax).
A instalação está disponível via um script de instalação (`curl -fsSL https://d2lang.com/install.sh | sh -s --`), fonte Go (`go install github.com/d2lang/d2@latest`) ou builds de fonte de lançamento. Uma opção de desinstalação também é fornecida.
Existe um amplo ecossistema de plugins da comunidade, incluindo integrações para Obsidian, MdBook, MkDocs, VitePress, Hexo, filtros Pandoc, Confluence, Logseq, Zed, Emacs, gramática tree-sitter e exportadores para esquemas Postgres, MongoDB, Structurizr, AsyncAPI, ROS2 e assemblies CIL. Um playground web está disponível em play.d2lang.com.
O D2 é usado na documentação de projetos de código aberto notáveis, como ElasticSearch, Sourcegraph, Temporal, Tauri, IntelliJ, Coder, UC Berkeley, LocalStack e Dagger. Ele é licenciado sob a Mozilla Public License 2.0. Nenhuma telemetria é coletada; o D2 não usa conexão com a internet após a instalação, exceto para verificações periódicas de atualização de versão no GitHub.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.