- Na versão 0.7.1 do D2, foi adicionada a função de renderizar diagramas de texto em ASCII
- É possível usar diagramas ASCII simples em comentários de código para explicar o fluxo de funções ou classes
- Por padrão, usa caracteres Unicode, mas é possível escolher ASCII padrão com uma flag de opção
- Esse recurso está em fase alfa e ainda não oferece suporte a alguns estilos, caracteres especiais e determinadas formas
- É possível experimentar a renderização ASCII diretamente no D2 Playground e na extensão para Vim
Introdução à renderização ASCII do D2
A partir da versão mais recente do D2 (0.7.1), foi adicionada a função de saída ASCII para diagramas de texto.
Arquivos de saída com extensão .txt são renderizados automaticamente com o renderizador ASCII.
É possível ver exemplos na extensão D2 para Vim; ao abrir um arquivo .d2 e salvar pelo painel de preview, dá para acompanhar em tempo real a saída do diagrama ASCII.
Uso na documentação de código
Os diagramas ASCII são mais práticos quando inseridos em comentários de código-fonte
- Ao adicionar um diagrama simples ao lado de uma função ou classe pequena, ele ajuda a entender o código de forma mais intuitiva do que uma explicação do fluxo
- Na extensão para Vim, é possível escrever código D2 e converter a seleção imediatamente em um diagrama ASCII
Escolha entre Unicode e ASCII padrão
A renderização ASCII padrão usa caracteres Unicode de desenho de caixas, oferecendo uma saída visualmente melhor
- Se você quiser máxima portabilidade, pode usar a flag de opção
--ascii-mode=standardpara renderizar também com caracteres ASCII comuns
Limitações atuais
Esse recurso de renderização ASCII está em fase alfa
- Pode haver muitos casos de borda, pontos de melhoria e bugs
- O envio de relatórios de bugs ou feedback no site é incentivado
Principais limitações
- Sem suporte a estilos
- Animações, fontes etc. não fazem sentido em ASCII
- Há planos de avaliar futuramente algum suporte limitado a estilos, como cores de terminal
- Temas também não são suportados
double-border,multipleetc. estão na lista de melhorias futuras
- Espaçamento irregular
- No processo de conversão para ASCII, o posicionamento das caixas pode ficar mais irregular em comparação com SVG
- Itens que não podem ser renderizados
- Ainda não há suporte para textos especiais como Markdown, Latex e código
- Imagens e ícones, classes UML, tabelas SQL etc. não podem ser renderizados
- Ainda será decidido futuramente se esses itens serão removidos ou exibidos como placeholders
- Algumas formas não são suportadas
- Formas curvas como nuvens e círculos não são bem representadas em ASCII
- Essas formas são substituídas por retângulos, com um pequeno ícone no canto superior esquerdo para distinguir o tipo
Experimente você mesmo
Esse recurso pode ser usado imediatamente no D2 Playground
- Você pode abrir o bloco de código fornecido e testar a renderização ASCII diretamente
Ainda não há comentários.