Live data from Hacker News

Ask HN: What do you use to create diagrams?

news.ycombinator.com

21–30 of 83 posts

Re: Ask HN: What do you use to create diagrams?

#22
None of the visual diagramming tools pass muster for me. They are all too fiddly and trying to use them requires a lot of yak-shaving to get the layout acceptable.

The diagrams I draw are all done with something like graphviz, plantuml, mermaid, Structurizr, or d2.

Very rarely I'll use excalidraw to throw together a one-off.

Re: Ask HN: What do you use to create diagrams?

#23
post #19

Semi, aside, but I'm desperate for a better way to make math diagrams (WYSIWYG style, not TeX). I asked about this a while ago and nothing is really doing it for me: https://news.ycombinator.com/item?id=38351370 . Although since then I have heard about https://penrose.cs.cmu.edu/ as well. Right now I use Excalidraw because there's a fork (never landed... ugh) which supports TeX in labels. But its actual drawing tools…

I completely get this usecase, TikZ is great but sometimes WYSIWYG is just easier to work with. Re: math stuff in particular, you may be in luck, my tool does already support LaTeX equations as first-class objects. Check out https://vexlio.com/latex-equation-editing/ for a quick screencap if you're interested.

Re: Ask HN: What do you use to create diagrams?

#27
post #21

For work especially if it's for a large audience I use Visio or GraphViz. For my own consumption (and a couple co-workers) I really prefer mermaidjs, especially just to have it embedded in markdown files.

For your large audience cases - do those typically go in one-off presentations or are they for more long-lived things (design docs, customer-facing docs, etc)?

Re: Ask HN: What do you use to create diagrams?

#30
post #18

Graphviz! The syntax is kind of absurd, but it produces some beautiful results and can be version controlled.

Definitely a personal fan of Graphviz as well! One thing I'm curious about are usecases that require version-controlled diagram sources. Do you guys have e.g. a build step that updates the rendered version somewhere? Or Confluence integration, etc?

I'm not the person you replied to, but for projects I maintain at work we've got a plugin for Confluence called Mark. It allows using Markdown to create Confluence pages, which is useful because the company uses Confluence for some reason. For diagrams (Mermaid, GraphViz, etc.) the source for the diagram is kept with the Markdown & I've got a CI job that generates diagrams & then runs Mark to update Confluence.

It makes it a lot easier to keep the documentation in sync with the code than having to remember to go to Confluence and update things. And avoids the pain of dealing with Atlassian's slow-loading site.

Post reply on HN