3 ms·
I suspect this was posted because I linked it in a comment in a different thread yesterday [1]. Mermaid is a great tool, especially for flowcharts. But as with
by lobster_johnson 10y ago
I suspect this was posted because I linked it in a comment in a different thread yesterday [1].
Mermaid is a great tool, especially for flowcharts. But as with other tools like Graphviz, it can be hard/impossible to build a clean structural diagram, where you have nodes that contain or stack other nodes, with flows and relationships between them. Invariably, I find that tools like Mermaid break down once there's a lot of components, even when using boxes and so on to group things.
In particular, arrow routing is a weak point. Here [2] is an old diagram I once did in Mermaid. I was able to create two vertically-layered groups, but I was not able to prevent arrows from being messy. (There is, of course, one pair of arrows that need to cross in that diagram, but at least the software should be able to draw their intersection in a nicer way, e.g. by adding space around the arrow or have a little arch where one arrow jumps over the other.)
[1] https://news.ycombinator.com/item?id=13324796 https://news.ycombinator.com/item?id=13324796
[2] http://i.imgur.com/awunH4m.png http://i.imgur.com/awunH4m.png
- ioloop 10y agoI feel ya. But remember your users probably don't care. You are trying to convey information, and your diagram does so effectively. Everything else is sugar. But if you are dissatisfied then you could also take a look at code2flow.com which is very quick and easy to use. I'd be quite curious if it solves your issue. I suspect it will.
- lobster_johnson 10y agoEh, the point is avoid unnecessary work. If you have just one diagram, creating it by hand is not a problem. If you have 10 or 20, you want automation. Especially since you'll want to keep the diagram continually updated, maybe tweakable with different styles; editing all diagrams by hand every time for every colour change is arduous compared to just running a single command to re-render.