Or, less ergonomically, the general rectangle-editing commands built into more powerful code editors e.g. Emacs.
With these, simple but fairly pretty box+line+text diagrams can be inlined with your source code comments. This unification may help in the perennial struggle to keep software architecture and source code reality in sync.
But now seriously.. the diagrams are working really well for simple examples, thank you so much for sharing this tool. I have bookmarked your page, my documentation is based on text files and often have to build these kind of diagrams too.
The example buttons took me a while to be found, but are good for syntax explanation. Thank you for making this available.
The "Example" buttons don't jump out at me; I found them but it took a while. Also consider labeling them with their point, e.g. "Example 3: Color"
If you change the input text to something well-formed, the graph seems to update immediately. But if you change it to something ill-formed, the graph doesn't update immediately — and then if you click "Generate" manually, it blanks the input box. Either this is a bug, or the "Generate" button doesn't do what I think it does (i.e. generate output). Again, adding a noun to the verb might help. Or just adding some usage information somewhere on the page.
For those like me who've never heard of "Mermaid," apparently it's like GraphViz's dot language but different. https://github.com/mermaid-js/mermaid
I tried the flowchart example from Mermaid's own README, but it didn't come out right: looks like the shape characters [] and {} aren't handled.
Thanks for the feedback! I agree that the web UI can be improved (quite) a bit, most of my efforts went into the actual generation of the diagrams. I'll have a look at prettifying it.
It's a macOS app and I've found it great. However if given an ASCII diagram, you cannot edit it with the same ease as creating a new one (e.g. reflowing text or resizing boxes).
I really like the idea of having the mermaid source and the ASCII diagram together, so you could use the source to change the diagram if needed. But I feel that would feel cluttered to have both in a plain text file or comment, where ASCII diagrams shine.
It would be pretty cool to be able to draw a flowchart or graph on a tablet and have it automatically turned into mermaid source. That's exceptional compression.
https://ivanceras.github.io/svgbob-editor/
(ascii to diagram)
Typogram https://code.sgo.to/typograms/#installation
Markdeep https://casual-effects.com/markdeep/
svg bob editors https://ivanceras.github.io/bob-editor/ https://mbarkhau.github.io/asciigrid/
Ditaa https://ditaa.sourceforge.net/
Goat https://github.com/blampe/goat
Protocol https://www.luismg.com/protocol/
(dsl to ascii)
https://diagon.arthursonzogni.com/#Sequence
https://textart.io/sequence
https://weidagang.github.io/text-diagram/
https://diagwiz.io/playground/
https://github.com/lewish/asciiflow
https://github.com/tbanel/uniline/
Or, less ergonomically, the general rectangle-editing commands built into more powerful code editors e.g. Emacs.
With these, simple but fairly pretty box+line+text diagrams can be inlined with your source code comments. This unification may help in the perennial struggle to keep software architecture and source code reality in sync.
Also I used to use https://swimlanes.io/ before d2.
https://pikchr.org/
But now seriously.. the diagrams are working really well for simple examples, thank you so much for sharing this tool. I have bookmarked your page, my documentation is based on text files and often have to build these kind of diagrams too.
The example buttons took me a while to be found, but are good for syntax explanation. Thank you for making this available.
The "Example" buttons don't jump out at me; I found them but it took a while. Also consider labeling them with their point, e.g. "Example 3: Color"
If you change the input text to something well-formed, the graph seems to update immediately. But if you change it to something ill-formed, the graph doesn't update immediately — and then if you click "Generate" manually, it blanks the input box. Either this is a bug, or the "Generate" button doesn't do what I think it does (i.e. generate output). Again, adding a noun to the verb might help. Or just adding some usage information somewhere on the page.
For those like me who've never heard of "Mermaid," apparently it's like GraphViz's dot language but different. https://github.com/mermaid-js/mermaid I tried the flowchart example from Mermaid's own README, but it didn't come out right: looks like the shape characters [] and {} aren't handled.
Small nit on layout: 90 degree joints should use "+" in the connecting lines, as they do in the boxes.
It's a macOS app and I've found it great. However if given an ASCII diagram, you cannot edit it with the same ease as creating a new one (e.g. reflowing text or resizing boxes).
I really like the idea of having the mermaid source and the ASCII diagram together, so you could use the source to change the diagram if needed. But I feel that would feel cluttered to have both in a plain text file or comment, where ASCII diagrams shine.
I tried the first example with gpt-o1 and the result wasn't bad:
would a smaller model but fine tuned on many syntetic renderings do a better job?