Mermaid: Diagramming and Charting Tool
mermaid.js.org
mermaid.js.org
[0] https://docs.gitlab.com/ee/user/markdown.html
[1] https://github.blog/developer-skills/github/include-diagrams...
Looks like Colab almost does.
The official vscode MermaidJS extension probably could work in https://vscode.dev/ : https://marketplace.visualstudio.com/items?itemName=MermaidC... :
ext install MermaidChart.vscode-mermaid-chart
LLMs can generate MermaidJS in Markdown diagrams that can easily fixed given sufficient review.Additional diagramming (node graph) tools: GraphViz, Visio, GSlides, Jamboard, yEd by yworks layout algorithms, Gephi, Dia, PlantUML, ArgoUML, blockdiag, seqdiag, rackdiag, https://markmap.js.org/
Don’t love that each diagram type typically has significantly different syntax.
Also don’t love (as mentioned by another commenter) the lack of control over layout—yea there are some advanced options for this but I find them obscure and difficult to configure.
I did create an internal tool that scans my Firestore data model and outputs an ER Diagram in mermaid. Works really nicely for that.
I wanted to left justify text[1] in a note for a sequence diagram. It only worked in their live editor vs their cloud-backed web app because only the former exposes styling.
1. it's otherwise locked to center justified
But again, for simple stuff, mermaid! It's also natively supported in a lot of markdown renderers, like gitlab
Ilograph https://app.ilograph.com/
Structurizr https://structurizr.com/dsl
Initially it was fun, although MermaidJS lacked support for the diagram types I used at that time.
What stooped to be fun, is that MermaidJS needs a whole Chromebrowser engine to render the diagrams and it is built on Node.js.
Trying to generate my diagrams in another environment again was a total PITA and not worth the time.
I would love if the MermaidJS devs would port everything to another tech stack, don't use a whole browser engine to render their diagrams and make diagram creation easy and reproducible for build piplelines.
Up to you, but PlantUML is one .jar file and thus very easily renders in a pipeline. So, between waiting for MermaidJS(!) to port everything to another tech stack or using a tool that has a ton more diagram types than Mermaid and has an offline render tool ... up to you
That's the complaint. Have fun trying to get attractive and reprodicible headless CI builds. I still have some issue with font rendering using latest version of their cli.
Wrote an article about it: https://victorbjorklund.com/build-diagrams-as-code-with-d2-d...
The fact that it's written in plain text makes it ideal for versioning with git. You can ever update the diagram in the same patch that changes a flow.
This website design seems to be new, and it's quite disappointing that there's not a single diagram in sight. It seems like a missed opportunity, where the whole page could be filled with examples (both in text form and the rendered version).
[0] https://learn.microsoft.com/en-us/azure/devops/project/wiki/...
I'm leading a data warehouse migration and I keep wishing that ER diagrams were just as easy to write as ETL data pipeline diagrams.
- Can be embedded as code blocks in straight markdown notes (and many markdown editors support rendering)
- Since it's not a graphic, it's text searchable
Mermaid Cons
- if you don't like the way the diagram is visually laid out there's not really an easy way to change it
In the upcoming Mermaid version 11, we are adding a way to select which layout algorithm is used to layout the diagram. We are also making it easier to add additional layout algorithms.
Hopefully, this will be easier going forward!
Love the ability to version control your charts as well as write them out quickly without involving a design team and still have them look pretty good.
It is especially nice combined with mkdocs and the mermaid plugin when doing documentation.
It is a great tool for diagrams