>_ DevTrendses

Idioma

Inicio

Lenguajes

Secciones

Frontend Backend Móvil DevOps AI / ML GameDev Blockchain Embebidos Seguridad
Python

Dibujar diagramas claros para documentación con símbolos en ASCII Draw

Cada vez que necesitas dibujar un pequeño diagrama de arquitectura directamente en el código o en un archivo README, comienza la lucha con los espacios. Intentas conectar dos rectángulos con líneas, añadir una flecha, corregir una línea, y todo el diseño se desplaza tres caracteres a la derecha. Los editores web como asciiflow a veces ayudan, pero arrastrar el diagrama de un lado a otro del navegador se vuelve tedioso rápidamente.

Hace poco descubrí el proyecto ASCII Draw del desarrollador Nokse22. Es una aplicación nativa de Linux creada específicamente para dibujar diagramas, tablas y gráficos de texto usando pseudográficos.

Interfaz de ASCII Draw

Por qué un desarrollador debería dibujar con símbolos

Los gráficos de texto en la documentación tienen una gran ventaja: viven directamente en el repositorio como texto plano. Para ver dicho diagrama, no necesitas renderizado SVG, imágenes externas ni soporte de Mermaid por parte de la plataforma de alojamiento. El diagrama se abre en cualquier terminal, cualquier editor de texto, y con git diff puedes ver inmediatamente exactamente qué cambió en la arquitectura.

ASCII Draw proporciona un lienzo gráfico familiar donde en lugar de píxeles trabajas con una cuadrícula de caracteres monoespaciados. Dibuja un bloque con el ratón, traza una línea, añade una etiqueta y copia el resultado directamente al portapapeles.

Qué puede hacer la aplicación

Hay suficientes herramientas dentro para la mayoría de tareas de ingeniería:

  • Rectángulos y bloques. Hay disponibles varios estilos de borde (líneas simples, líneas dobles, esquinas redondeadas) y relleno con un carácter seleccionado.
  • Líneas y flechas. Puedes dibujar líneas cartesianas rectas a 90 grados, conexiones escalonadas entre bloques y líneas a mano alzada.
  • Estructuras de árbol y tablas. Para listados de directorios o estructuras de entidades existen plantillas de árbol, y un generador de tablas ayuda a alinear columnas ordenadamente sin recalcular espacios manualmente.
  • Texto y fuentes FIGlet. El texto normal se puede convertir en encabezados decorativos grandes si necesitas crear un banner de inicio para una utilidad de consola.
Proceso de dibujo
Lienzo y conjunto de herramientas

Trabajando con texto
Fuentes y manipulación de etiquetas

Caracteres
Catálogo de caracteres disponibles

Herramientas de dibujo
Selección de estilo de línea

Exportar
Guardar en archivo o copiar al portapapeles

Un elogio aparte merecen el borrador, la herramienta de relleno y el conveniente movimiento de fragmentos. Si necesitas mover un bloque ligeramente hacia abajo, simplemente seleccionas el área con un marco y lo arrastras a la nueva posición.

Bajo el capó

El proyecto está escrito en Python 3.8+ usando la pila gráfica GTK4 y la biblioteca Libadwaita. La aplicación se integra perfectamente en el entorno GNOME, soporta temas del sistema y atajos de teclado.

Para generar texto estilizado, el autor conectó pyfiglet, y para un conjunto de caracteres extendido usó la biblioteca emoji. El proyecto tiene una licencia abierta — GPL v3.0.

Dónde resulta útil en la práctica

  1. Formatear README y notas de arquitectura en el repositorio.
  2. Comentarios en secciones de código complejas (por ejemplo, un diagrama de máquina de estados finitos o formato de paquete binario).
  3. Prototipado de interfaces para aplicaciones TUI.
  4. Mantenimiento de notas técnicas en bases de conocimiento en texto plano y markdown.

Cómo instalar y probarlo

La forma más sencilla para los usuarios de Linux es instalar el paquete desde Flathub:

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

Si quieres construir el proyecto desde el código fuente o hacer cambios, simplemente clona el repositorio:

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

Después de eso, el proyecto se puede abrir en el entorno GNOME Builder y lanzar con un botón.

Si trabajas en Linux y a menudo escribes documentación directamente en el código, ASCII Draw vale la pena tenerlo a mano. Es una herramienta especializada y elegante que resuelve una tarea específica y ahorra tiempo al diseñar diagramas. La principal limitación del proyecto hoy en día es su enfoque en el ecosistema GNOME y Linux, por lo que los usuarios de macOS y Windows necesitarán encontrar otras opciones o ejecutar la utilidad a través de virtualización.

Proyectos relacionados