- Monodraw es un editor de arte ASCII para Mac que permite dibujar diagramas, diagramas de flujo y estructuras de datos en texto plano, para que se puedan leer directamente dentro de documentación técnica y código
- Como el resultado es texto, es fácil copiarlo y pegarlo; y, cuando se necesita, también se puede generar en formato de imagen mediante exportación a PNG y SVG
- Soporta desde mapas mentales y diagramas ER hasta la creación de banners, con un enfoque más orientado a la visualización para documentación que a la simple edición de texto
- Ofrece FIGlet y 148 fuentes incluidas por defecto, además de funciones que reducen el trabajo repetitivo de arte en texto, como líneas, rectángulos, guías de alineación, grupos y atajos de teclado
- Requiere macOS 11 Big Sur o superior; la herramienta de línea de comandos se descarga directamente desde el sitio web y solo se incluye en la versión comprada en la tienda
Herramienta de visualización para Mac basada en texto
- Monodraw es un editor para crear arte ASCII en Mac
- Permite crear estructuras basadas en texto, como diagramas, layouts y diagramas de flujo
- Se usa para organizar visualmente elementos difíciles de comprender solo con código, como algoritmos, estructuras de datos y formatos binarios
- Como el resultado es texto plano, se puede insertar casi tal cual en documentos, código y especificaciones
- Cuando se necesita una imagen, se puede exportar a PNG y SVG
Documentación técnica y representación de modelos de datos
- Los diagramas en texto incluidos en código y especificaciones sirven para ayudar a entender rápidamente la estructura
- La visualización de estructuras de datos, algoritmos y formatos de datos es importante para que quien lee pueda comprender relaciones y flujos
- Como el código se lee más tiempo del que se escribe, los diagramas en texto pueden ayudar en procesos de mantenimiento y revisión
-
Mapas mentales
- Combina la simplicidad del texto plano con el enfoque de los mapas mentales
- Permite mover texto a la posición deseada sobre un lienzo infinito
- No queda limitado por la estructura lineal de un archivo de texto
-
Diagramas ER
- Visualiza modelos de datos como diagramas simples de entidad-relación
- Soporta la notación Crow’s Foot en 3 variantes
Funciones para crear arte en texto
- Los banners se pueden crear con un solo clic
- Incluye FIGlet integrado y 148 fuentes por defecto
- También soporta fuentes personalizadas
- Permite ajustar interactivamente el tamaño de la caja de texto, cambiar la fuente y modificar la alineación sin usar la terminal
- La herramienta de texto funciona con un motor de texto personalizado basado en CoreText
- Permite ajustar alineación, posición, dirección de avance de línea y desplazamiento de líneas
- Puede agregar un borde alrededor del texto con un solo clic
- La herramienta de líneas facilita conectar figuras, y soporta líneas ortogonales y escalonadas
- Permite definir el patrón de guiones de las líneas
- Puede unir líneas dinámicamente a otras figuras mediante puntos de conexión, reduciendo el trabajo de reacomodarlas después de mover las figuras
- La herramienta de rectángulos sirve para crear cajas, muy usadas en el arte en texto
- Permite definir borde y fondo con unos pocos clics
- Permite agregar sombras
- Permite unir líneas en posiciones precisas mediante puntos de conexión personalizados
Funciones auxiliares para reducir el trabajo en el lienzo
- Ofrece herramientas de dibujo básicas: Pencil, Eraser, Bucket Fill y Picker
- Se puede superponer una imagen sobre el lienzo para usarla como referencia de trazado
- La función de grupos permite agrupar varias figuras como una sola para facilitar la duplicación y el movimiento
- Las guías de alineación evitan tener que contar caracteres manualmente al ubicar contenido y ajustar tamaños
- La función de enfoque permite bloquear u ocultar el resto de las figuras al concentrarse en una parte específica del lienzo
- Permite ampliar la vista para concentrarse en los elementos visibles actuales
- Todas las funciones son accesibles mediante atajos de teclado
- Las herramientas se pueden seleccionar rápidamente con una sola tecla, sin teclas modificadoras
Compatibilidad con macOS y condiciones de la herramienta de línea de comandos
- Monodraw está diseñado como una app nativa para macOS, desde el motor de layout de texto hasta la interfaz
- El arte en texto se puede exportar copiándolo y pegándolo en el editor de texto deseado
- El requisito del sistema es macOS 11 Big Sur o superior
- En versiones anteriores de macOS se puede usar Monodraw v1.3, que requiere macOS 10.10 Yosemite o superior
- Monodraw v1.5 requiere macOS 10.14 Mojave o superior
- La interfaz de línea de comandos solo se incluye en la versión de descarga directa
- Está incluida en la versión descargada directamente desde el sitio web y comprada en la tienda
- La versión de Mac App Store no puede incluir la herramienta de línea de comandos debido a las restricciones de App Sandbox
- Se puede usar, por ejemplo, con hooks de control de versiones para generar documentación automáticamente al hacer commits
- También soporta salida JSON, lo que facilita su uso desde programas
- Monodraw afirma que no recopila ningún dato
1 comentarios
Opiniones de Hacker News
Al final siempre termino volviendo a Monodraw
Otras apps tienen demasiadas funciones y opciones de estilo, así que cuesta concentrarse en el contenido en sí, pero Monodraw no distrae
Aun así tiene suficientes funciones como para crear bastantes cosas, y en particular me encantan los anclajes: https://tamasruss.com/articles/monodraw-anchors
Aun así, la técnica en sí es prolija
Esta herramienta es una de mis apps favoritas, y la pagué apenas salió
La usé varias veces para documentación como esta: https://github.com/ivank/potygen/blob/main/packages/potygen/...
ASCII es tan versátil que permite poner dibujos agradables en lugares inesperados y facilitar la comprensión
Los caracteres están bien, pero parece que la elección de fuente de GitHub no maneja bien los “espacios significativos” de la parte extendida
Mantengo una lista de herramientas web de texto a diagramas: https://xosh.org/text-to-diagram/
Como alternativas web a este tipo de herramientas de dibujo ASCII están https://fsymbols.com/draw/, https://textik.com/, https://asciiflow.com/#/, https://web.archive.org/web/20210503172024/https://fatiherik..., https://app.monosketch.io, entre otras
Es una herramienta creada por el autor de SQLite: https://pikchr.org/home/doc/trunk/doc/userman.md
De la lista, parece que la única que maneja diagonales es https://textik.com/, y aun así parece que no tiene función de relleno
Y el diagrama que intentaba dibujar tenía esta forma: https://pastebin.com/NPXFS1Fi
En textik.com pude hacer las cajas y los triángulos, pero tuve que corregir manualmente varias esquinas y rellenar el interior a mano
Aunque Monodraw cueste solo 10 dólares, no sé si lo pagaría siendo una app nativa exclusiva para Mac
Trabajo mucho en la web y uso varios dispositivos, y solo hago diagramas unas pocas veces al año, así que me parece mejor una opción web o un plugin de VSCode
Puede haber herramientas interesantes
Me gusta mucho esta herramienta
La usé para crear diagramas de Mapless: https://sebastianconcept.github.io/Mapless/guides/2024/01/28...
Y también para documentar la configuración del builder de Pharo VM Plugin: https://github.com/sebastianconcept/PharoPluginBuilder
Parece una forma demasiado indirecta para dibujar unos cuantos rectángulos; ¿no habrá una manera más fácil?
Sería genial que esto fuera multiplataforma
Me gustaría usarlo también en Linux
Entiendo el esfuerzo que implica crear una app bien pulida, pero ojalá las herramientas de escritorio apuntaran mejor a Linux, Windows y Mac
Probablemente esta sea una de las grandes razones por las que hay cada vez más apps web
Encaja realmente bien con este tipo de apps
Es una herramienta genial
Como alternativa con versión web, un amigo hizo https://github.com/tuanchauict/MonoSketch en Kotlin
Yo también tengo una versión menos completa hecha en Rust: https://github.com/huytd/ascii-d
Se ve bien
https://asciiflow.com/ es una alternativa web y es la herramienta que he usado principalmente durante 10 años.
Aunque todavía no he descubierto cómo hacer que el navegador renderice correctamente una fuente monoespaciada
Basta ver los diagramas de ejemplo de esta página: http://uggly.bytester.net/#how-it-works
Esta herramienta es de ese tipo de apps que compras y conservas aunque solo la uses de vez en cuando
Si la has usado, también me gustaría saber cómo aprovechaste los diagramas que generaste
Me imagino capturas de pantalla de los diagramas, pero el texto original parece demasiado grande como para ponerlo en lugares como una terminal
Esta app entró en modo de mantenimiento en 2018; ¿cambió algo desde entonces? https://blog.helftone.com/monodraw-maintenance-mode/
Gracias por la buena recepción de la app
Por una falta de tiempo extrema, no he podido sacar más actualizaciones
Estoy trabajando en algunas funciones muy solicitadas, pero no puedo prometer cuándo se publicarán
Por lo general avanzo un poco durante las vacaciones
Aun así, seguiré arreglando los problemas que surjan por actualizaciones del sistema operativo y tengo la intención de mantener el producto funcionando
Da como motivos que mantener un proyecto open source es una carga grande y que, si se publica un producto terminado como open source, pueden venderse clones a clientes desprevenidos
Pero si se publica como open source, los colaboradores podrían encargarse de parte del trabajo, y ciertas licencias pueden impedir la venta de esos clones
Lo probé antes y me gustó
Según recuerdo, una queja que tenía era que para conservar funciones interesantes como anclas o cajas redimensionables había que usar su propio formato de archivo integrado
Apuntar directamente a un dibujo ASCII dentro de un documento Markdown no hace que todas las funciones aparezcan automáticamente
Si uno realmente quisiera, quizá podría resolverse en parte con algoritmos inteligentes y LLM, y de hecho he usado bastante LLM para hacer borradores de diagramas ASCII con cierto éxito
Pero todavía no he encontrado un buen equilibrio entre la mantenibilidad —es decir, la capacidad de tratar las cajas como cajas y que las líneas de conexión las sigan al moverlas— y la portabilidad —es decir, que todo sea texto puro—
Si la versión actual de Monodraw es distinta, o si otra herramienta resuelve esto, me encantaría saberlo
Al menos Monodraw me resultó más adecuado que artist mode de Emacs
Me pregunto si tienes muchos diagramas existentes que quieres mantener
Si se crean desde cero, más bien esperaría que existiera este tipo de formato de archivo abstracto, y lo vería como la relación entre un original tipo PSD y un resultado renderizado tipo PNG
O también algo parecido a la relación entre el código fuente y un binario
Creo que parsear el artefacto de salida de vuelta a una forma abstracta significativa es difícil de hacer a la perfección