Monodraw: ASCII-Art-Editor für den Mac
(monodraw.helftone.com)- Monodraw ist ein ASCII-Art-Editor für den Mac, mit dem sich Diagramme, Flussdiagramme und Datenstrukturen als Plain Text zeichnen lassen, sodass sie direkt in technischer Dokumentation und in Code lesbar sind
- Da das Ergebnis Text ist, lässt es sich leicht kopieren und einfügen; bei Bedarf können mit dem Export als PNG oder SVG auch Bilder erzeugt werden
- Unterstützt Mindmaps, ER-Diagramme und sogar die Erstellung von Bannern und legt den Fokus damit stärker auf Visualisierung für die Dokumentation als auf einfache Textbearbeitung
- Bietet FIGlet und standardmäßig 148 Schriftarten sowie Funktionen wie Linien, Rechtecke, Ausrichtungshilfen, Gruppen und Tastenkürzel, um wiederkehrende Text-Art-Arbeiten zu reduzieren
- Erfordert macOS 11 Big Sur oder neuer; das Kommandozeilenwerkzeug kann direkt von der Website heruntergeladen werden und ist nur in der im Store gekauften Version enthalten
Visualisierungswerkzeug für den Mac, das mit Text zeichnet
- Monodraw ist ein Editor zum Erstellen von ASCII-Art auf dem Mac
- Strukturen wie Diagramme, Layouts und Flussdiagramme lassen sich textbasiert erstellen
- Es wird genutzt, um Dinge wie Algorithmen, Datenstrukturen und Binärformate, die sich allein im Code nur schwer erfassen lassen, visuell zu ordnen
- Da das Ergebnis Plain Text ist, kann es nahezu unverändert in Dokumente, Code und Spezifikationen eingefügt werden
- Wenn Bilder benötigt werden, kann nach PNG und SVG exportiert werden
Technische Dokumentation und Darstellung von Datenmodellen
- Textdiagramme in Code und Spezifikationen helfen dabei, Strukturen schnell zu verstehen
- Die Visualisierung von Datenstrukturen, Algorithmen und Datenformaten ist wichtig, damit Leser Beziehungen und Abläufe erfassen können
- Da Code häufiger gelesen als geschrieben wird, können Textdiagramme bei Wartung und Reviews hilfreich sein
-
Mindmaps
- Verbindet die Einfachheit von Plain Text mit dem Mindmap-Ansatz
- Auf einer unendlichen Leinwand kann Text an beliebige Positionen verschoben werden
- Ist nicht an die lineare Struktur von Textdateien gebunden
-
ER-Diagramme
- Visualisiert Datenmodelle als einfache Entity-Relationship-Diagramme
- Unterstützt die Crow’s-Foot-Notation in 3 Varianten
Funktionen zum Erstellen von Text-Art
- Banner lassen sich mit einem Klick erstellen
- FIGlet ist integriert, und standardmäßig sind 148 Schriftarten enthalten
- Benutzerdefinierte Schriftarten werden ebenfalls unterstützt
- Größenanpassung von Textboxen, Schriftwechsel und Ausrichtungsanpassungen lassen sich interaktiv ohne Terminal erledigen
- Das Textwerkzeug arbeitet mit einer benutzerdefinierten Text-Engine auf Basis von CoreText
- Ausrichtung, Position, Schreibrichtung und Zeilenverschiebung können angepasst werden
- Mit einem Klick kann ein Rahmen um Text hinzugefügt werden
- Das Linienwerkzeug erleichtert das Verbinden von Formen und unterstützt orthogonale Linien sowie stufenförmige Linien
- Das Strichmuster von Linien kann festgelegt werden
- Über Verbindungspunkte lassen sich Linien dynamisch an andere Formen anheften, was nach dem Verschieben von Formen erneutes Platzieren reduziert
- Das Rechteckwerkzeug dient zum Erstellen von Boxen, die in Text-Art häufig verwendet werden
- Rahmen und Hintergrund lassen sich mit wenigen Klicks festlegen
- Schatten können hinzugefügt werden
- Mit benutzerdefinierten Verbindungspunkten lassen sich Linien an exakten Positionen anheften
Zusatzfunktionen zur Reduzierung von Canvas-Arbeit
- Als grundlegende Zeichenwerkzeuge werden Pencil, Eraser, Bucket Fill und Picker angeboten
- Bilder können als Overlay auf die Leinwand gelegt und zum Nachzeichnen verwendet werden
- Die Gruppen-Funktion fasst mehrere Formen zu einer Einheit zusammen und erleichtert Kopieren und Verschieben
- Ausrichtungshilfen sorgen dafür, dass beim Platzieren und Skalieren von Inhalten keine Zeichen manuell gezählt werden müssen
- Mit der Fokus-Funktion können beim Konzentrieren auf einen bestimmten Teil der Leinwand die übrigen Formen gesperrt oder ausgeblendet werden
- Es kann herangezoomt werden, um sich auf die aktuell sichtbaren Elemente zu konzentrieren
- Auf alle Funktionen kann per Tastenkürzel zugegriffen werden
- Werkzeuge lassen sich schnell mit einem einzelnen Tastendruck ohne Modifikatortasten auswählen
macOS-Unterstützung und Bedingungen für das Kommandozeilenwerkzeug
- Monodraw ist von der Text-Layout-Engine bis zur Oberfläche als native macOS-App konzipiert
- Text-Art kann exportiert werden, indem sie kopiert und in den gewünschten Texteditor eingefügt wird
- Die Systemanforderung ist macOS 11 Big Sur oder neuer
- Auf älteren macOS-Versionen kann Monodraw v1.3 verwendet werden; dafür ist macOS 10.10 Yosemite oder neuer erforderlich
- Monodraw v1.5 erfordert macOS 10.14 Mojave oder neuer
- Die Kommandozeilenschnittstelle ist nur in der direkt heruntergeladenen Version enthalten
- Sie ist in der Version enthalten, die direkt von der Website heruntergeladen und im Store gekauft wird
- In der Mac-App-Store-Version kann das Kommandozeilenwerkzeug wegen der Einschränkungen der App Sandbox nicht enthalten sein
- Es kann etwa mit Versionsverwaltungs-Hooks genutzt werden, um beim Commit Dokumentation automatisch zu erzeugen
- JSON-Ausgabe wird ebenfalls unterstützt, was die programmgesteuerte Verarbeitung erleichtert
- Monodraw gibt an, keinerlei Daten zu sammeln
1 Kommentare
Meinungen auf Hacker News
Am Ende komme ich immer wieder zu Monodraw zurück
Andere Apps haben so viele Funktionen und Stiloptionen, dass es schwerfällt, sich auf den eigentlichen Inhalt zu konzentrieren, aber Monodraw lenkt nicht ab
Trotzdem bietet es genug Funktionen, um ziemlich viel damit zu erstellen, und besonders die Anker gefallen mir: https://tamasruss.com/articles/monodraw-anchors
Die Technik an sich ist aber sauber
Dieses Tool gehört wirklich zu meinen Lieblings-Apps, und ich habe direkt bezahlt, als es veröffentlicht wurde
Ich habe es mehrfach für solche Dokumentation verwendet: https://github.com/ivank/potygen/blob/main/packages/potygen/...
ASCII ist so vielseitig, dass man an unerwarteten Stellen gut aussehende Zeichnungen einfügen kann, die das Verständnis erleichtern
Die Zeichen sind korrekt, aber GitHubs Schriftauswahl scheint mit dem „bedeutungsvollen Leerraum“ in den erweiterten Teilen nicht gut zurechtzukommen
Ich pflege eine Liste webbasierter Text-zu-Diagramm-Tools: https://xosh.org/text-to-diagram/
Als Web-Alternativen zu solchen ASCII-Zeichenwerkzeugen gibt es unter anderem https://fsymbols.com/draw/, https://textik.com/, https://asciiflow.com/#/, https://web.archive.org/web/20210503172024/https://fatiherik..., https://app.monosketch.io
Es ist ein Tool vom SQLite-Entwickler: https://pikchr.org/home/doc/trunk/doc/userman.md
In der Liste scheint nur https://textik.com/ mit Diagonalen umgehen zu können, und selbst dort scheint es keine Füllfunktion zu geben
Das Diagramm, das ich zeichnen wollte, sah so aus: https://pastebin.com/NPXFS1Fi
In textik.com habe ich Boxen und Dreiecke erstellt, musste aber mehrere Ecken manuell korrigieren und auch das Innere selbst füllen
Selbst wenn Monodraw nur 10 Dollar kostet, weiß ich nicht, ob ich dafür zahlen würde, weil es eine native App nur für den Mac ist
Ich arbeite viel im Web und nutze mehrere Geräte, und da ich nur ein paar Mal im Jahr Diagramme zeichne, wirkt eine webbasierte Lösung oder ein VSCode-Plugin besser
Dort könnten interessante Tools dabei sein
Dieses Tool gefällt mir wirklich gut
Ich habe es zum Erstellen von Mapless-Diagrammen verwendet: https://sebastianconcept.github.io/Mapless/guides/2024/01/28...
Und auch zur Dokumentation der Builder-Konfiguration für Pharo VM Plugins: https://github.com/sebastianconcept/PharoPluginBuilder
Für ein paar Rechtecke wirkt das ziemlich umständlich; gibt es keinen einfacheren Weg?
Es wäre wirklich schön, wenn das Cross-Platform wäre
Ich würde es auch gern unter Linux nutzen
Ich verstehe den Aufwand, der nötig ist, um eine ausgereifte App zu bauen, aber ich wünschte, Desktop-App-Tools würden Linux, Windows und Mac besser adressieren
Das ist vermutlich auch ein wichtiger Grund dafür, dass es immer mehr webbasierte Apps gibt
Für Apps dieser Art passt es wirklich gut
Ein tolles Tool
Als Alternative mit Web-Version gibt es https://github.com/tuanchauict/MonoSketch, das ein Freund in Kotlin gebaut hat
Ich habe auch eine weniger fertige Version in Rust gebaut: https://github.com/huytd/ascii-d
Sieht gut aus
https://asciiflow.com/ ist eine webbasierte Alternative und seit zehn Jahren mein hauptsächlich genutztes Tool
Allerdings habe ich noch nicht herausgefunden, wie man Browser dazu bringt, Monospace-Schriften korrekt zu rendern
Siehe die Beispieldiagramme auf dieser Seite: http://uggly.bytester.net/#how-it-works
Das ist die Art App, die man kauft und behält, selbst wenn man sie nur gelegentlich nutzt
Falls du sie selbst verwendet hast, würde mich auch interessieren, wie du die erstellten Diagramme genutzt hast
Screenshots von Diagrammen kann ich mir vorstellen, aber der ursprüngliche Text scheint zu groß, um ihn etwa in ein Terminal zu setzen
Diese App ist 2018 in den Wartungsmodus gegangen; hat sich seitdem etwas geändert? https://blog.helftone.com/monodraw-maintenance-mode/
Danke für die positive Resonanz auf die App
Mir fehlt extrem die Zeit, deshalb kann ich nicht mehr Updates veröffentlichen
Ich arbeite an einigen häufig gewünschten Funktionen, kann aber nicht versprechen, wann sie veröffentlicht werden
Normalerweise komme ich im Urlaub ein Stück voran
Trotzdem werde ich weiterhin Probleme beheben, die durch OS-Upgrades entstehen, und dafür sorgen, dass das Produkt weiter funktioniert
Als Gründe werden genannt, dass die Pflege eines Open-Source-Projekts eine große Belastung ist und dass bei einer Open-Source-Veröffentlichung eines fertigen Produkts Klone an ahnungslose Kunden verkauft werden könnten
Aber bei einer Open-Source-Veröffentlichung könnten Beitragende einen Teil der Arbeit übernehmen, und bestimmte Lizenzen können den Verkauf solcher Klone verhindern
Ich habe es früher ausprobiert und fand es gut
Soweit ich mich erinnere, war ein Kritikpunkt, dass man das eigene integrierte Dateiformat verwenden musste, wenn man coole Funktionen wie Anker oder skalierbare Boxen behalten wollte
Nur weil man direkt auf eine ASCII-Zeichnung in einem Markdown-Dokument zeigt, bekommt man nicht automatisch alle Funktionen
Wenn man wirklich wollte, ließe sich das wohl mit cleveren Algorithmen und LLMs bis zu einem gewissen Grad lösen; tatsächlich habe ich LLMs recht häufig mit gewissem Erfolg zum Entwerfen von ASCII-Diagrammen genutzt
Aber ein gutes Gleichgewicht zwischen Wartbarkeit – also der Eigenschaft, Boxen als Boxen zu behandeln und Verbindungslinien beim Verschieben mitwandern zu lassen – und Portabilität – also der Eigenschaft, dass alles reiner Text ist – habe ich noch nicht gefunden
Wenn sich das in der aktuellen Monodraw-Version geändert hat oder ein anderes Tool dieses Problem löst, wüsste ich das sehr gern
Zumindest passte Monodraw für mich besser als der artist mode von Emacs
Ich frage mich, ob du viele bestehende Diagramme hast, die du verwalten möchtest
Wenn man bei null anfängt, würde ich so ein abstraktes Dateiformat eher erwarten und es ähnlich sehen wie das Verhältnis zwischen einer Quelldatei wie PSD und einem gerenderten Ergebnis wie PNG
Oder auch ähnlich wie das Verhältnis zwischen Quellcode und Binärdatei
Ausgabe-Artefakte wieder in eine sinnvolle abstrakte Form zu parsen, halte ich für schwierig perfekt hinzubekommen