>_ DevTrendspt

Idioma

Início

Linguagens

Seções

Frontend Backend Mobile DevOps AI / ML GameDev Blockchain Embarcados Segurança
Python

Desenhando Diagramas Claros para Documentação com Símbolos no ASCII Draw

Toda vez que você precisa desenhar um pequeno diagrama de arquitetura diretamente no código ou em um arquivo README, a luta com os espaços começa. Você tenta conectar dois retângulos com linhas, adicionar uma seta, corrigir uma linha, e todo o layout se desloca três caracteres para a direita. Editores web como asciiflow às vezes ajudam, mas arrastar o diagrama de um lado para outro no navegador rapidamente se torna tedioso.

Recentemente encontrei o projeto ASCII Draw do desenvolvedor Nokse22. É um aplicativo nativo para Linux criado especificamente para desenhar diagramas, tabelas e gráficos de texto usando pseudográficos.

Interface do ASCII Draw

Por que um desenvolvedor deveria desenhar com símbolos

Gráficos de texto na documentação têm uma grande vantagem: eles vivem diretamente no repositório como texto simples. Para visualizar esse tipo de diagrama, você não precisa de renderização SVG, imagens externas ou suporte a Mermaid da plataforma de hospedagem. O diagrama abre em qualquer terminal, qualquer editor de texto, e com git diff você pode ver exatamente o que mudou na arquitetura.

O ASCII Draw fornece uma tela gráfica familiar onde, em vez de pixels, você trabalha com uma grade de caracteres monoespaçados. Você desenha um bloco com o mouse, traça uma linha, adiciona um rótulo e copia o resultado diretamente para a área de transferência.

O que a aplicação pode fazer

Existem ferramentas suficientes para a maioria das tarefas de engenharia:

  • Retângulos e blocos. Vários estilos de borda estão disponíveis (linhas simples, linhas duplas, cantos arredondados) e preenchimento com um caractere selecionado.
  • Linhas e setas. Você pode desenhar linhas cartesianas retas em 90 graus, conexões escalonadas entre blocos e linhas à mão livre.
  • Estruturas de árvore e tabelas. Para listagens de diretórios ou estruturas de entidades, existem modelos de árvore, e um gerador de tabelas ajuda a alinhar colunas sem recalcular espaços manualmente.
  • Texto e fontes FIGlet. Texto regular pode ser transformado em cabeçalhos decorativos grandes se você precisar criar uma faixa de inicialização para um utilitário de console.
Processo de desenho
Tela e conjunto de ferramentas

Trabalhando com texto
Fontes e manipulação de rótulos

Caracteres
Catálogo de caracteres disponíveis

Ferramentas de desenho
Seleção de estilo de linha

Exportação
Salvando em arquivo ou copiando para a área de transferência

Elogios especiais vão para a borracha, ferramenta de preenchimento e movimento conveniente de fragmentos. Se você precisar mover um bloco um pouco para baixo, basta selecionar a área com uma moldura e arrastá-la para a nova posição.

Por baixo do capô

O projeto é escrito em Python 3.8+ usando a pilha gráfica GTK4 e a biblioteca Libadwaita. A aplicação se encaixa perfeitamente no ambiente GNOME, suporta temas do sistema e atalhos de teclado.

Para gerar texto estilizado, o autor conectou pyfiglet, e para um conjunto de caracteres estendido usou a biblioteca emoji. O projeto tem uma licença aberta — GPL v3.0.

Onde isso é útil na prática

  1. Formatando README e notas de arquitetura no repositório.
  2. Comentários em seções de código complexas (por exemplo, um diagrama de máquina de estados finitos ou formato de pacote binário).
  3. Prototipando interfaces para aplicações TUI.
  4. Mantendo notas técnicas em bases de conhecimento em texto simples e markdown.

Como instalar e experimentar

A maneira mais fácil para usuários Linux é instalar o build do Flathub:

flatpak install flathub io.github.nokse22.asciidraw
flatpak run io.github.nokse22.asciidraw

Se você quiser construir o projeto a partir do código-fonte ou fazer alterações, basta clonar o repositório:

git clone https://github.com/Nokse22/ascii-draw.git
cd ascii-draw

Depois disso, o projeto pode ser aberto no ambiente GNOME Builder e iniciado com um botão.

Se você trabalha no Linux e frequentemente escreve documentação diretamente no código, o ASCII Draw vale a pena manter à mão. É uma ferramenta especializada elegante que resolve uma tarefa específica e economiza tempo ao criar diagramas. A principal limitação do projeto hoje é seu foco no ecossistema GNOME e Linux, então usuários de macOS e Windows precisarão encontrar outras opções ou executar o utilitário através de virtualização.

Projetos relacionados