This document describes and shows all diagram types provided by Asciidoctor Diagram.
1. Introduction and goals
This document should give an overview over all supported diagram types provided by Asciidoctor Diagram[DIAG].
3. Barcodes
The barcode extension provides barcode rendering. Barcode macros can be specified using blocks, inline macros or block macros.
https://docs.asciidoctor.org/diagram-extension/latest/#barcode
4. Blockdiag
blockdiag and its family generate diagram images from simple text files.
http://blockdiag.com/en/index.html
blockdiag supports many types of diagrams like
All these tools layouts diagram elements automatically and generates beautiful diagram images from simple text format (similar to graphviz’s DOT format).
4.1. actdiag
actdiag is a simple activity-diagram image generator and generates activity-diagram images from .diag files (similar to graphviz’s DOT files).
http://blockdiag.com/en/actdiag/index.html
4.2. blockdiag
blockdiag generates block-diagram images from .diag files (similar to graphviz’s DOT files).
http://blockdiag.com/en/blockdiag/index.html
7. Diagrams as (Python) Code
Diagrams — Diagram as Code
Diagrams lets you draw the cloud system architecture in Python code.
It was born for prototyping a new system architecture without any design tools. You can also describe or visualize the existing system architecture as well.
https://diagrams.mingrammer.com/
11. Gnuplot
Gnuplot is a portable command-line driven graphing utility originally created to allow scientists and students to visualize mathematical functions and data interactively, but has grown to support many non-interactive uses such as web scripting.
http://gnuplot.info/
12. graphviz
Graphviz is open source graph visualization software. Graph visualization is a way of representing structural information as diagrams of abstract graphs and networks. It has important applications in networking, bioinformatics, software engineering, database and web design, machine learning, and in visual interfaces for other technical domains.
https://graphviz.gitlab.io/
14. mermaid
I had a forward slash defined in the label of a diagram node.
graph LR M[Main\n/]
This could be rendered successfully by other mermaid engines, like the one that renders the preview in the vscode plugin. But caused
mmdc
to crash withError: Evaluation failed: Error: Diagram error not found. at pptr://__puppeteer_evaluation_script__:45:17 at ExecutionContext._ExecutionContext_evaluate (...) at process.processTicksAndRejections (...) at async ExecutionContext.evaluate (...) at async CDPJSHandle.evaluate (...) at async CDPElementHandle.$eval (...) at async renderMermaid (...) at async parseMMD (...) at async run (...) at async cli (...)
However, as soon as I add double quotes
graph LR M["Main\n/"]
everything works fine. So this is rather an issue to handle in
mermaid-js/mermaid-cli
(if at all).
https://github.com/barthel/docker-asciidoctor/pull/3
15. mscgen
Mscgen is a small program that parses Message Sequence Chart descriptions and produces PNG, SVG, EPS or server side image maps (ismaps) as the output. Message Sequence Charts (MSCs) are a way of representing entities and interactions over some time period and are often used in combination with SDL.
http://www.mcternan.me.uk/mscgen/
16. Nomnoml
Nomnoml is a tool for drawing UML diagrams based on a simple syntax. It tries to keep its syntax visually as close as possible to the generated UML diagram without resorting to ASCII drawings.
https://github.com/skanaar/nomnoml
17. Pikchr
Pikchr (pronounced "picture") is a PIC-like markup language for diagrams in technical documentation. Pikchr is designed to be embedded in fenced code blocks of Markdown or similar mechanisms of other documentation markup languages.
https://pikchr.org/home/doc/trunk/homepage.md
18. PlantUML
PlantUML is a component that allows to quickly write :
Sequence diagram
Usecase diagram
Class diagram
Activity diagram (here is the legacy syntax)
Component diagram
State diagram
Object diagram
Deployment diagram
Timing diagram
The following non-UML diagrams are also supported:
Network
Wireframe graphical interface
Archimate diagram
Specification and Description Language (SDL)
Ditaa diagram
Gantt diagram
MindMap diagram
Work Breakdown Structure diagram
Mathematic with AsciiMath or JLaTeXMath notation
Entity Relationship diagram
Diagrams are defined using a simple and intuitive language.
https://plantuml.com/
24. UMLet
UMLet is a free, open-source UML tool with a simple user interface: draw UML diagrams fast, create sequence and activity diagrams from plain text, share via exports to eps, pdf, jpg, svg, and clipboard, and develop new, custom UML elements.
https://www.umlet.com
26. Vega
Vega is a visualization grammar, a declarative language for creating, saving, and sharing interactive visualization designs. With Vega, you can describe the visual appearance and interactive behavior of a visualization in a JSON format, and generate web-based views using Canvas or SVG.
https://vega.github.io/vega/
Bibliography
-
[DIAG] Asciidoctor Project (en): Asciidoctor Diagram. https://asciidoctor.org/docs/asciidoctor-diagram/ (Retrieved March 29, 2020)