Mermaid
dagre
Mermaid | dagre | |
---|---|---|
90 | 8 | |
3,584 | 4,332 | |
3.2% | 1.9% | |
9.1 | 8.6 | |
5 days ago | 26 days ago | |
TypeScript | JavaScript | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Mermaid
- Conquering System Design Diagrams: My Shift to Mermaid.js
- Mermaid Live Editor
- Mermaid Chart, a Markdown-like tool for creating diagrams, raises $7.5M
-
Using Mermaid JS to generate a diagram from Power Automate
Mermaid JS is a tool that lets you create diagrams and charts such as flowcharts, sequence diagrams, Gantt charts using simple text commands. It works by converting your text commands into a graphical representation that you can customize and share. https://mermaid.live/
- FLaNK Stack Weekly 22 January 2024
-
LLMs and Programming in the first days of 2024
I'm not OP, but I just ask GPT to turn code or process or whatever else into a mermaid diagram. Most of the time I don't even need to few-shot prompt it with examples. Then you dump the resulting text into something like https://mermaid.live/ and voilà.
-
Open-source drawing tool – Excalidraw
I like excalidraw for live discussions but if I want to make more detailed or better looking diagrams, I really enjoy these two tools:
- For drag-and-drop/WYSIWYG, I really like DrawIO. They have a web version https://app.diagrams.net/ but I strongly recommend the desktop version https://github.com/jgraph/drawio-desktop/releases/
- For text-as-diagram, I think Mermaid wins this by default since GitHub added markdown support for these: https://mermaid.live/ (This was github's announcement https://github.blog/2022-02-14-include-diagrams-markdown-fil... )
-
I lost a full day's work thanks to Mermaid.
After hours without being able to solve this problem, I decided to make the chart directly in Mermaid's live editor and export it to PNG and SVG. The big problem is that the letters are still too small, the quality of the PNG is very low, and the SVG only works on the web, not with other applications like PowerPoint and Inkscape.
-
Nomnoml
You can export to PNG and other formats in the Mermaid editor https://mermaid.live/
-
Creating mindmaps with ChatGPT
Copy paste code here: https://mermaid.live
dagre
-
D2 Playground
It was unmaintained for a long time (maybe considered done implementing the algorithm it set out to), but recently a Google engineer has revived it: https://github.com/dagrejs/dagre
-
Show HN: Databasediagram.com – Private, Text to Entity-Relationship Diagram Tool
The issue I have with a lot of these tools is they work fine when depicting relationships between tables in the same schema (talking mainly about PostgreSQL databases), but few support showing relationships between tables across different schemas.
Also, when the number of tables grows large, few have layouts arranged in an optimal way. I use D2 (https://d2lang.com/) to create ERDs. However, of the free layout engines available in D2, Dagre (https://github.com/dagrejs/dagre) and ELK (https://github.com/eclipse/elk) both don't have optimal placement of layouts for a sufficiently complicated database.
-
Captain of Industry Calculator/Factory Planner
You are right, after a bit of searching found nice library: https://github.com/dagrejs/dagre and couple of others. Maybe will try it out.
-
Chart Flows with grouped sub nodes
I am using ReactFlow with Dagre to create reasonably simple graph flows as the following example:
-
Ask HN: Are There Any Layered Graph Layout Algorithms in Active Development?
Hello,
I've been researching layered graph algorithms, but it appears that this market is mostly inactive at the moment.
Dagre (https://github.com/dagrejs/dagre) is considered outdated, with a codebase from 2015 that is no longer being updated, although they still accept some pull requests.
KLAY (https://github.com/kieler/klayjs) has been succeeded by ELK, and development stopped in 2016.
ELK (https://github.com/kieler/elkjs) is currently being developed by the KIELER Project, mostly by students and professors, written in Java. They are doing a great job, but the library is written in Java and then transpiled to JavaScript. They also rely on students for help with the development, which makes progress slow.
Do you happen to know of any new projects that are actively addressing this problem?
-
D2 is now open source – a new, modern language that turns text to diagrams
dagrejs has a section on "Recommended Reading" which lists which algorithms from which papers they implement.
https://github.com/dagrejs/dagre/wiki#recommended-reading
-
D2: A new declarative language to turn text into diagrams
Terrastruct engineer here. The visualization will be open source though I can't say for sure yet whether it'll be with our layout algorithm or with https://github.com/dagrejs/dagre.
-
Graphviz project for Flutter
Another option is Dagre which is apparently now abandoned.
What are some alternatives?
plantuml - Generate diagrams from textual description
elkjs - ELK's layout algorithms for JavaScript
kroki - Creates diagrams from textual descriptions!
dagre-d3 - A D3-based renderer for Dagre
obsidian-releases - Community plugins list, theme list, and releases of Obsidian.
obsidian-graphviz - Graphviz plugin for obsidian md.
golang-nextjs-portable - Go program with embedded Next.js app.
text-to-diagram-site - Compare syntax, layouts, outputs between languages for generating diagrams with text.
DrawThe.Net - drawthe.net draws network diagrams dynamically from a text file describing the placement, layout and icons. Given a yaml file describing the hierarchy of the network and it's connections, a resulting diagram will be created.
poap - ⛔️ DEPRECATED - Proof Of Attendance Protocol
wavedrom - :ocean: Digital timing diagram rendering engine
elk - Eclipse Layout Kernel - Automatic layout for Java applications.