Mermaid

Mermaid is a JavaScript-based software to draw a wide variety of diagrams and charts, e.g., flowchart, sequence, state, block, class, mindmap, Gantt, git, pie, etc.

In Linux, mermaid can be directly installed via package manager. Taking ArchLinux for instance, it can be installed via pacman, i.e.,

pacman -S mermaid-cli

Then, the mermaid utility mmdc is available which takes a mermaid file (with a .mmd extension) as input and outputs a diagram.

A mermaid-based diagram is comprised of 3 parts,

---
config:
  theme: default/base/dark/forest/neutral/null
  look: classic/handDrawn
  layout: dagre/erk
  maxTextSize: 50000
  maxEdges: 500
  darkMode: false/true
  htmlLabels: false/true
  fontFamily: serif/sans-serif/monospace/cursive/fantasy/system-ui/ui-serif/ui-sans-serif/ui-monospace/ui-rounded/math/fangsong
  startOnLoad: true/false
  arrowMarkerAbsolute: false/true
  legacyMathML: false/true
  forceLegacyMathML: false/true
  deterministicIds: false/true
  wrap: true/false
  fontSize: 16
  markdownAutoWrap: true/false
  useMaxWidth: true/false
---
graph/sequenceDiagram/classDiagram/stateDiagram/erDiagram/journey/gantt/pie/quadrantChart/requirementDiagram/gitGraph/C4Context/mindmap/timeline/zenuml/sankey/xychart/block/xychart/kanban/architecture-beta/radar-beta/treemap-beta
  CONTENTS