asciidoctor-diagram 2.2.9 → 2.2.11
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.adoc +22 -0
- data/docs/antora.yml +3 -1
- data/docs/modules/ROOT/images/a2s.svg +44 -0
- data/docs/modules/ROOT/images/actdiag.png +0 -0
- data/docs/modules/ROOT/images/asciidoctor-diagram-process.png +0 -0
- data/docs/modules/ROOT/images/barcode.png +0 -0
- data/docs/modules/ROOT/images/barcode2.png +0 -0
- data/docs/modules/ROOT/images/blockdiag.png +0 -0
- data/docs/modules/ROOT/images/d2.png +0 -0
- data/docs/modules/ROOT/images/lilypond.png +0 -0
- data/docs/modules/ROOT/images/penrose.png +0 -0
- data/docs/modules/ROOT/nav.adoc +41 -0
- data/docs/modules/ROOT/{partials/create_diagram.adoc → pages/blocks.adoc} +52 -48
- data/docs/modules/ROOT/pages/diagram_types/a2s.adoc +47 -0
- data/docs/modules/ROOT/pages/diagram_types/actdiag.adoc +46 -0
- data/docs/modules/ROOT/pages/diagram_types/barcode.adoc +72 -0
- data/docs/modules/ROOT/pages/diagram_types/blockdiag.adoc +38 -0
- data/docs/modules/ROOT/pages/diagram_types/bpmn.adoc +21 -0
- data/docs/modules/ROOT/pages/diagram_types/bytefield.adoc +16 -0
- data/docs/modules/ROOT/pages/diagram_types/d2.adoc +43 -0
- data/docs/modules/ROOT/pages/diagram_types/dbml.adoc +16 -0
- data/docs/modules/ROOT/pages/diagram_types/diagrams.adoc +20 -0
- data/docs/modules/ROOT/pages/diagram_types/ditaa.adoc +31 -0
- data/docs/modules/ROOT/pages/diagram_types/dpic.adoc +16 -0
- data/docs/modules/ROOT/pages/diagram_types/erd.adoc +17 -0
- data/docs/modules/ROOT/pages/diagram_types/gnuplot.adoc +27 -0
- data/docs/modules/ROOT/pages/diagram_types/graphviz.adoc +21 -0
- data/docs/modules/ROOT/pages/diagram_types/lilypond.adoc +27 -0
- data/docs/modules/ROOT/pages/diagram_types/meme.adoc +34 -0
- data/docs/modules/ROOT/pages/diagram_types/mermaid.adoc +28 -0
- data/docs/modules/ROOT/pages/diagram_types/msc.adoc +23 -0
- data/docs/modules/ROOT/pages/diagram_types/nomnoml.adoc +16 -0
- data/docs/modules/ROOT/pages/diagram_types/nwdiag.adoc +22 -0
- data/docs/modules/ROOT/pages/diagram_types/penrose.adoc +50 -0
- data/docs/modules/ROOT/pages/diagram_types/pikchr.adoc +16 -0
- data/docs/modules/ROOT/pages/diagram_types/plantuml.adoc +24 -0
- data/docs/modules/ROOT/pages/diagram_types/seqdiag.adoc +18 -0
- data/docs/modules/ROOT/pages/diagram_types/shaape.adoc +18 -0
- data/docs/modules/ROOT/pages/diagram_types/smcat.adoc +18 -0
- data/docs/modules/ROOT/pages/diagram_types/structurizr.adoc +29 -0
- data/docs/modules/ROOT/pages/diagram_types/svgbob.adoc +21 -0
- data/docs/modules/ROOT/pages/diagram_types/symbolator.adoc +19 -0
- data/docs/modules/ROOT/pages/diagram_types/syntrax.adoc +28 -0
- data/docs/modules/ROOT/pages/diagram_types/tikz.adoc +21 -0
- data/docs/modules/ROOT/pages/diagram_types/umlet.adoc +19 -0
- data/docs/modules/ROOT/pages/diagram_types/vega.adoc +28 -0
- data/docs/modules/ROOT/pages/diagram_types/wavedrom.adoc +17 -0
- data/docs/modules/ROOT/pages/enabling.adoc +25 -0
- data/docs/modules/ROOT/{partials → pages}/generate.adoc +1 -1
- data/docs/modules/ROOT/pages/index.adoc +5 -14
- data/docs/modules/ROOT/pages/installation.adoc +32 -0
- data/docs/modules/ROOT/pages/output.adoc +19 -0
- data/docs/modules/ROOT/partials/shared-attrs.adoc +12 -0
- data/docs/modules/ROOT/partials/uris.adoc +2 -0
- data/lib/asciidoctor-diagram/barcode/converter.rb +83 -78
- data/lib/asciidoctor-diagram/diagram_processor.rb +10 -1
- data/lib/asciidoctor-diagram/diagram_source.rb +2 -2
- data/lib/asciidoctor-diagram/ditaa/converter.rb +3 -3
- data/lib/asciidoctor-diagram/lilypond/converter.rb +2 -2
- data/lib/asciidoctor-diagram/penrose/converter.rb +50 -0
- data/lib/asciidoctor-diagram/penrose/extension.rb +18 -0
- data/lib/asciidoctor-diagram/penrose.rb +8 -0
- data/lib/asciidoctor-diagram/plantuml/converter.rb +3 -3
- data/lib/asciidoctor-diagram/structurizr/converter.rb +6 -6
- data/lib/asciidoctor-diagram/structurizr/structurizr-2.0.3.jar +0 -0
- data/lib/asciidoctor-diagram/syntrax/converter.rb +6 -6
- data/lib/asciidoctor-diagram/util/java_jruby.rb +4 -0
- data/lib/asciidoctor-diagram/util/java_socket.rb +4 -0
- data/lib/asciidoctor-diagram/version.rb +1 -1
- data/lib/asciidoctor-diagram.rb +1 -0
- data/spec/barcode_spec.rb +3 -3
- data/spec/d2_spec.rb +1 -1
- data/spec/mermaid_spec.rb +0 -37
- data/spec/test_helper_methods.rb +4 -1
- metadata +56 -8
- data/docs/modules/ROOT/partials/advanced.adoc +0 -397
- data/docs/modules/ROOT/partials/installation.adoc +0 -19
- data/lib/asciidoctor-diagram/structurizr/structurizr-2.0.1.jar +0 -0
@@ -0,0 +1,17 @@
|
|
1
|
+
= ERD
|
2
|
+
include::partial$uris.adoc[]
|
3
|
+
|
4
|
+
{uri-erd}[erd] is a utility takes a plain text description of entities, their attributes and the relationships between entities and produces a visual diagram modeling the description.
|
5
|
+
|
6
|
+
== Supported Image Formats
|
7
|
+
|
8
|
+
- PNG (default)
|
9
|
+
- SVG
|
10
|
+
|
11
|
+
== Attributes
|
12
|
+
|
13
|
+
[cols=">,<,<",options="header"]
|
14
|
+
|===
|
15
|
+
|Name |Default value |Description
|
16
|
+
|erd |erd |The path to the `erd` executable
|
17
|
+
|===
|
@@ -0,0 +1,27 @@
|
|
1
|
+
= Gnuplot
|
2
|
+
include::partial$uris.adoc[]
|
3
|
+
|
4
|
+
{uri-gnuplot}[Gnuplot] is a command-driven plotting program.
|
5
|
+
It can be used interactively to plot functions and data points in both two- and three-dimensional plots in many different styles.
|
6
|
+
|
7
|
+
== Supported Image Formats
|
8
|
+
|
9
|
+
- GIF
|
10
|
+
- PNG (default)
|
11
|
+
- SVG
|
12
|
+
- TXT
|
13
|
+
|
14
|
+
== Attributes
|
15
|
+
|
16
|
+
[cols=">,<,<",options="header"]
|
17
|
+
|===
|
18
|
+
|Name |Default value |Description
|
19
|
+
|gnuplot |gnuplot |The path to the `gnuplot` binary
|
20
|
+
|background |unspecified |Background color, e.g. `red`, `#FF0000`. Does not work with `txt`.
|
21
|
+
|height |unspecified |The height of the plot. Must be specified together with `width`.
|
22
|
+
|width |unspecified |The width of the plot. Must be specified together with `height`.
|
23
|
+
|crop |unspecified |Trims blank space from the edges of the completed plot (true/false). Does not work with `svg`, `pdf`.
|
24
|
+
|transparent |unspecified |Generate transparent background (true/false). Does not work with `svg`, `pdf`, `txt`.
|
25
|
+
|font |unspecified |The font face with optional font size to use for the text, e.g. `font="Arial"`, `font="Arial,11"`. Does not work with `txt`.
|
26
|
+
|fontscale |unspecified |Scales all label for given factor. Does not work with `txt`.
|
27
|
+
|===
|
@@ -0,0 +1,21 @@
|
|
1
|
+
= Graphviz
|
2
|
+
include::partial$uris.adoc[]
|
3
|
+
|
4
|
+
{uri-graphviz}[Graphviz] takes descriptions of graphs in a simple text language, and makes diagrams in useful formats, such as images and SVG for web pages; PDF or Postscript for inclusion in other documents; or display in an interactive graph browser.
|
5
|
+
Graphviz has many useful features for concrete diagrams, such as options for colors, fonts, tabular node layouts, line styles, hyperlinks, and custom shapes.
|
6
|
+
|
7
|
+
== Supported Image Formats
|
8
|
+
|
9
|
+
- GIF
|
10
|
+
- PNG (default)
|
11
|
+
- SVG
|
12
|
+
|
13
|
+
== Attributes
|
14
|
+
|
15
|
+
[cols=">,<,<",options="header"]
|
16
|
+
|===
|
17
|
+
|Name |Default value |Description
|
18
|
+
|dot |dot |The path to the `dot` executable
|
19
|
+
|graphvizdot |dot |This attribute is an alias for the `dot` attribute
|
20
|
+
|layout |unspecified |The graphviz layout engine to use (dot -K option).
|
21
|
+
|===
|
@@ -0,0 +1,27 @@
|
|
1
|
+
= LilyPond
|
2
|
+
include::partial$uris.adoc[]
|
3
|
+
|
4
|
+
{uri-lilypond}[LilyPond] is a music engraving program, devoted to producing the highest-quality sheet music possible. It brings the aesthetics of traditionally engraved music to computer printouts.
|
5
|
+
|
6
|
+
----
|
7
|
+
[lilypond]
|
8
|
+
....
|
9
|
+
\\relative c' { f d f a d f e d cis a cis e a g f e }
|
10
|
+
....
|
11
|
+
----
|
12
|
+
|
13
|
+
image::lilypond.png[]
|
14
|
+
|
15
|
+
== Supported Image Formats
|
16
|
+
|
17
|
+
- PDF
|
18
|
+
- PNG (default)
|
19
|
+
|
20
|
+
== Attributes
|
21
|
+
|
22
|
+
[cols=">,<,<",options="header"]
|
23
|
+
|===
|
24
|
+
|Name |Default value |Description
|
25
|
+
|lilypond |lilypond |The path to the `lilypond` executable
|
26
|
+
|resolution |unspecified |The DPI at which to render
|
27
|
+
|===
|
@@ -0,0 +1,34 @@
|
|
1
|
+
= Meme
|
2
|
+
include::partial$uris.adoc[]
|
3
|
+
|
4
|
+
The meme extension provides a basic '`Advice Animal`' style image generator.
|
5
|
+
Its usage is easiest to explain with an example.
|
6
|
+
|
7
|
+
----
|
8
|
+
meme::yunoguy.jpg[Doc writers,Y U NO // AsciiDoc]
|
9
|
+
----
|
10
|
+
|
11
|
+
The target of the block macro tells the extension which image to use as background.
|
12
|
+
The first two positional attributes are `top` and `bottom` and are used for the top and bottom label.
|
13
|
+
Occurrences of `//` surrounded by whitespace are interpreted as line breaks.
|
14
|
+
|
15
|
+
The meme extension requires https://imagemagick.org[ImageMagick].
|
16
|
+
|
17
|
+
== Supported Image Formats
|
18
|
+
|
19
|
+
- GIF
|
20
|
+
- PNG (default)
|
21
|
+
|
22
|
+
== Attributes
|
23
|
+
|
24
|
+
[cols=">,<,<",options="header"]
|
25
|
+
|===
|
26
|
+
|Name |Default value |Description
|
27
|
+
|convert |convert |The path to the ImageMagick `convert` executable
|
28
|
+
|identify |identify |The path to the ImageMagick `identify` executable
|
29
|
+
|fill-color |white |The fill color for the text.
|
30
|
+
|stroke-color |black |The outline color for the text
|
31
|
+
|stroke-width |2 |The width of the text outline.
|
32
|
+
|font |Impact |The font face to use for the text.
|
33
|
+
|options |unspecified |a comma separate list of flags that modify the image rendering. Currently only `noupcase` is supported which disable upper casing the labels.
|
34
|
+
|===
|
@@ -0,0 +1,28 @@
|
|
1
|
+
= Mermaid
|
2
|
+
include::partial$uris.adoc[]
|
3
|
+
|
4
|
+
{uri-mermaid}[Mermaid] is a JavaScript-based diagramming and charting tool that uses Markdown-inspired text definitions and a renderer to create and modify complex diagrams.
|
5
|
+
The main purpose of Mermaid is to help documentation catch up with development.
|
6
|
+
|
7
|
+
== Supported Image Formats
|
8
|
+
|
9
|
+
- PDF
|
10
|
+
- PNG
|
11
|
+
- SVG
|
12
|
+
|
13
|
+
== Attributes
|
14
|
+
|
15
|
+
[cols=">,<,<",options="header"]
|
16
|
+
|===
|
17
|
+
|Name |Default value |Description
|
18
|
+
|mmdc |mmdc |The path to the `mmdc` executable
|
19
|
+
|background |FFFFFF |The background colour of the image. The format should be a six-digit hexadecimal number (as in HTML, FF0000 for red). Pass an eight-digit hex to define transparency.
|
20
|
+
|css |unspecified |Path to a CSS file to pass to mermaid.
|
21
|
+
|config |unspecified |Path to a JSON config file to pass to mermaid.
|
22
|
+
|gantt-config |unspecified |Path to a gantt config file to pass to mermaid.
|
23
|
+
|puppeteer-config|unspecified |Path to a puppeteer config file to pass to mermaid.
|
24
|
+
|sequence-config |unspecified |Path to a sequence config file to pass to mermaid.
|
25
|
+
|theme |unspecified |Theme of the chart, could be default, forest, dark or neutral.
|
26
|
+
|width |unspecified |Width of the page.
|
27
|
+
|height |unspecified |Height of the page.
|
28
|
+
|===
|
@@ -0,0 +1,23 @@
|
|
1
|
+
= MscGen
|
2
|
+
include::partial$uris.adoc[]
|
3
|
+
|
4
|
+
{uri-mscgen}[MscGen] is a small program that converts Message Sequence Chart descriptions to images.
|
5
|
+
Message Sequence Charts (MSCs) are a way of representing entities and interactions over some time period and are often used in combination with SDL.
|
6
|
+
MSCs are popular in Telecoms to specify how protocols operate although MSCs need not be complicated to create or use.
|
7
|
+
Mscgen aims to provide a simple text language that is clear to create, edit and understand, which can also be transformed into common image formats for display or printing.
|
8
|
+
|
9
|
+
This diagram type requires either {uri-mscgen}[Mscgen] or {uri-mscgen-js}[mscgen.js].
|
10
|
+
|
11
|
+
== Supported Image Formats
|
12
|
+
|
13
|
+
- PNG
|
14
|
+
- SVG
|
15
|
+
|
16
|
+
== Attributes
|
17
|
+
|
18
|
+
[cols=">,<,<",options="header"]
|
19
|
+
|===
|
20
|
+
|Name |Default value |Description
|
21
|
+
|mscgen |mscgen |The path to the `mscgen` executable
|
22
|
+
|font |unspecified |The name of the font that should be used by mscgen
|
23
|
+
|===
|
@@ -0,0 +1,16 @@
|
|
1
|
+
= Nomnoml
|
2
|
+
include::partial$uris.adoc[]
|
3
|
+
|
4
|
+
{uri-nomnoml}[Nomnoml] is a tool for drawing UML diagrams based on a simple syntax.
|
5
|
+
|
6
|
+
== Supported Image Formats
|
7
|
+
|
8
|
+
- SVG
|
9
|
+
|
10
|
+
== Attributes
|
11
|
+
|
12
|
+
[cols=">,<,<",options="header"]
|
13
|
+
|===
|
14
|
+
|Name |Default value |Description
|
15
|
+
|nomnoml |nomnoml |The path to the `nomnoml` binary
|
16
|
+
|===
|
@@ -0,0 +1,22 @@
|
|
1
|
+
= NwDiag / RackDiag / PacketDiag
|
2
|
+
include::partial$uris.adoc[]
|
3
|
+
|
4
|
+
{uri-nwdiag}[NwDiag] generates network-diagram images from .diag files (similar to graphviz’s DOT files).
|
5
|
+
|
6
|
+
The `rackdiag` and `packetdiag` tools that are part of the `nwdiag` package are also supported.
|
7
|
+
|
8
|
+
== Supported Image Formats
|
9
|
+
|
10
|
+
- PDF
|
11
|
+
- PNG (default)
|
12
|
+
- SVG
|
13
|
+
|
14
|
+
== Attributes
|
15
|
+
|
16
|
+
[cols=">,<,<",options="header"]
|
17
|
+
|===
|
18
|
+
|Name |Default value |Description
|
19
|
+
|nwdiag |nwdiag |The path to the `nwdiag` binary
|
20
|
+
|packetdiag |packetdiag |The path to the `packetdiag` binary
|
21
|
+
|rackdiag |rackdiag |The path to the `rackdiag` binary
|
22
|
+
|===
|
@@ -0,0 +1,50 @@
|
|
1
|
+
= Penrose
|
2
|
+
include::partial$uris.adoc[]
|
3
|
+
|
4
|
+
{uri-penrose}[Penrose] is a platform that enables people to create beautiful diagrams just by typing notation in plain text.
|
5
|
+
|
6
|
+
Penrose diagrams consist of three parts:
|
7
|
+
|
8
|
+
- .domain file that defines the language specific to the domain.
|
9
|
+
- .substance file that creates substances of mathematical content.
|
10
|
+
- .style file that specifies the style of the visual representation.
|
11
|
+
|
12
|
+
The domain and style files are specified using attributes.
|
13
|
+
The substance of the diagram is the block contents.
|
14
|
+
|
15
|
+
----
|
16
|
+
[penrose, domain=sets.domain, style=sets.style]
|
17
|
+
....
|
18
|
+
Set A, B, C, D, E, F, G
|
19
|
+
|
20
|
+
IsSubset(B, A)
|
21
|
+
IsSubset(C, A)
|
22
|
+
IsSubset(D, B)
|
23
|
+
IsSubset(E, B)
|
24
|
+
IsSubset(F, C)
|
25
|
+
IsSubset(G, C)
|
26
|
+
|
27
|
+
Not(Intersecting(E, D))
|
28
|
+
Not(Intersecting(F, G))
|
29
|
+
Not(Intersecting(B, C))
|
30
|
+
|
31
|
+
AutoLabel All
|
32
|
+
....
|
33
|
+
----
|
34
|
+
|
35
|
+
image::penrose.png[]
|
36
|
+
|
37
|
+
== Supported Image Formats
|
38
|
+
|
39
|
+
- SVG (default)
|
40
|
+
|
41
|
+
== Attributes
|
42
|
+
|
43
|
+
[cols=">,<,<",options="header"]
|
44
|
+
|===
|
45
|
+
|Name |Default value |Description
|
46
|
+
|roger |roger |The path to the `roger` executable
|
47
|
+
|domain |unspecified |The domain file to use
|
48
|
+
|style |unspecified |The style file to use
|
49
|
+
|variation |unspecified |The diagram variation to render
|
50
|
+
|===
|
@@ -0,0 +1,16 @@
|
|
1
|
+
= Pikchr
|
2
|
+
include::partial$uris.adoc[]
|
3
|
+
|
4
|
+
{uri-pikchr}[Pikchr] (pronounced "picture") is a PIC-like markup language for diagrams in technical documentation.
|
5
|
+
|
6
|
+
== Supported Image Formats
|
7
|
+
|
8
|
+
- SVG
|
9
|
+
|
10
|
+
== Attributes
|
11
|
+
|
12
|
+
[cols=">,<,<",options="header"]
|
13
|
+
|===
|
14
|
+
|Name |Default value |Description
|
15
|
+
|pikchr |pikchr |The path to the `pikchr` binary
|
16
|
+
|===
|
@@ -0,0 +1,24 @@
|
|
1
|
+
= PlantUML
|
2
|
+
include::partial$uris.adoc[]
|
3
|
+
|
4
|
+
{uri-plantuml}[PlantUML] is a syntax and tool to draw UML diagrams, using a simple and human readable text description.
|
5
|
+
It is particularly well-suited for users who prefer a simple, text-based approach to creating diagrams, and who want a tool that can automatically handle the layout and appearance of their diagrams.
|
6
|
+
|
7
|
+
== Supported Image Formats
|
8
|
+
|
9
|
+
- PNG
|
10
|
+
- SVG
|
11
|
+
- TXT
|
12
|
+
|
13
|
+
== Attributes
|
14
|
+
|
15
|
+
[cols=">,<,<",options="header"]
|
16
|
+
|===
|
17
|
+
|Name |Default value |Description
|
18
|
+
|java |java |The path to the `java` executable
|
19
|
+
|config |unspecified |Path to a config file to pass to PlantUML.
|
20
|
+
|theme |unspecified |PlantUML theme to use.
|
21
|
+
|size-limit |4096 |The maximum dimensions (width and height) of generated diagrams.
|
22
|
+
|includedir |unspecified |sets a common directory for puml includes (plantuml.include.path)
|
23
|
+
|preprocess |true |Preprocess PlantUML code before rendering the diagram.
|
24
|
+
|===
|
@@ -0,0 +1,18 @@
|
|
1
|
+
= SeqDiag
|
2
|
+
include::partial$uris.adoc[]
|
3
|
+
|
4
|
+
{uri-seqdiag}[SeqDiag] seqdiag generates sequence-diagram images from .diag files (similar to graphviz’s DOT files).
|
5
|
+
|
6
|
+
== Supported Image Formats
|
7
|
+
|
8
|
+
- PDF
|
9
|
+
- PNG (default)
|
10
|
+
- SVG
|
11
|
+
|
12
|
+
== Attributes
|
13
|
+
|
14
|
+
[cols=">,<,<",options="header"]
|
15
|
+
|===
|
16
|
+
|Name |Default value |Description
|
17
|
+
|seqdiag |seqdiag |The path to the `seqdiag` binary
|
18
|
+
|===
|
@@ -0,0 +1,18 @@
|
|
1
|
+
= Shaape
|
2
|
+
include::partial$uris.adoc[]
|
3
|
+
|
4
|
+
{uri-shaape}[Shaape] processes ascii drawings of diagrams and converts them to pixel or vector graphics.
|
5
|
+
The word Shaape itself is a neologism from shape and ascii art.
|
6
|
+
|
7
|
+
== Supported Image Formats
|
8
|
+
|
9
|
+
- PNG
|
10
|
+
- SVG
|
11
|
+
|
12
|
+
== Attributes
|
13
|
+
|
14
|
+
[cols=">,<,<",options="header"]
|
15
|
+
|===
|
16
|
+
|Name |Default value |Description
|
17
|
+
|shaape |shaape |The path to the `shaape` binary
|
18
|
+
|===
|
@@ -0,0 +1,18 @@
|
|
1
|
+
= State Machine Cat
|
2
|
+
include::partial$uris.adoc[]
|
3
|
+
|
4
|
+
{uri-smcat}[State Machine Cat] is syntax and tool that converts plain text descriptions of state machines into state diagrams.
|
5
|
+
|
6
|
+
== Supported Image Formats
|
7
|
+
|
8
|
+
- SVG
|
9
|
+
|
10
|
+
== State Machine Cat Attributes
|
11
|
+
|
12
|
+
[cols=">,<,<",options="header"]
|
13
|
+
|===
|
14
|
+
|Name |Default value |Description
|
15
|
+
|smcat |smcat |The path to the `smcat` binary
|
16
|
+
|direction |unspecified |The direction of the state machine diagram. One of `top-down`, `bottom-top`, `left-right` or `right-left`.
|
17
|
+
|engine |unspecified |The layout engine to use. One of `dot`, `circo`, `fdp`, `neato`, `osage`, or `twopi`
|
18
|
+
|===
|
@@ -0,0 +1,29 @@
|
|
1
|
+
= Structurizr
|
2
|
+
include::partial$uris.adoc[]
|
3
|
+
|
4
|
+
{uri-structurizr}[Structurizr] builds upon "diagrams as code", allowing you to create multiple software architecture diagrams from a single model.
|
5
|
+
There are a number of tools for creating Structurizr compatible workspaces, with the Structurizr DSL being the recommended option for most teams.
|
6
|
+
|
7
|
+
The Structurizr extension allows individual views from a Structurizr DSL workspace to be included in Asciidoc documents.
|
8
|
+
This is the inverse use case of https://structurizr.com/help/documentation[Structurizr's documentation] support which lets you embed Asciidoc in the Structurizr DSL.
|
9
|
+
|
10
|
+
This extension uses the https://structurizr.com/help/cli[Structurizr CLI] tool to convert Structurizr DSL files into the input for a renderer.
|
11
|
+
The chosen renderer is then used to generate the final image.
|
12
|
+
|
13
|
+
The installation location of Structurizr CLI needs to be passed to asciidoctor-diagram using the `DIAGRAM_STRUCTURIZRCLI_HOME`.
|
14
|
+
When running Asciidoctor with JRuby or when using AsciidoctorJ the installation location can also be specified using the `diagram.structurizrcli.home` Java system property.
|
15
|
+
In both cases it should be set to the absolute directory containing the extracted Structurizr CLI archive.
|
16
|
+
|
17
|
+
== Supported Image Formats
|
18
|
+
|
19
|
+
- PNG
|
20
|
+
- SVG
|
21
|
+
|
22
|
+
== Attributes
|
23
|
+
|
24
|
+
[cols=">,<,<",options="header"]
|
25
|
+
|===
|
26
|
+
|Name |Default value |Description
|
27
|
+
|renderer |plantuml-c4 |The rendering backend to use. One of `d2`, `graphviz`, `mermaid`, `plantuml`, or `plantuml-c4`
|
28
|
+
|view |unspecified |The key of the view to render
|
29
|
+
|===
|
@@ -0,0 +1,21 @@
|
|
1
|
+
= SvgBob
|
2
|
+
include::partial$uris.adoc[]
|
3
|
+
|
4
|
+
{uri-svgbob}[SvgBob] can create a nice graphical representation of your text diagrams.
|
5
|
+
|
6
|
+
== Supported Image Formats
|
7
|
+
|
8
|
+
- SVG
|
9
|
+
- TXT
|
10
|
+
|
11
|
+
== Attributes
|
12
|
+
|
13
|
+
[cols=">,<,<",options="header"]
|
14
|
+
|===
|
15
|
+
|Name |Default value |Description
|
16
|
+
|svgbob |svgbob |The path to the `svgbob` executable
|
17
|
+
|font-family |arial |text will be rendered with this font
|
18
|
+
|font-size |14 |text will be rendered with this font size
|
19
|
+
|scale |1 |scale the entire svg (dimensions, font size, stroke width) by this factor
|
20
|
+
|stroke-width |2 |stroke width for all lines
|
21
|
+
|===
|
@@ -0,0 +1,19 @@
|
|
1
|
+
= Symbolator
|
2
|
+
include::partial$uris.adoc[]
|
3
|
+
|
4
|
+
{uri-symbolator}[Symbolator] is a component diagramming tool for VHDL and Verilog.
|
5
|
+
It will parse HDL source files, extract components or modules and render them as an image.
|
6
|
+
|
7
|
+
== Supported Image Formats
|
8
|
+
|
9
|
+
- PDF
|
10
|
+
- PNG
|
11
|
+
- SVG
|
12
|
+
|
13
|
+
== Attributes
|
14
|
+
|
15
|
+
[cols=">,<,<",options="header"]
|
16
|
+
|===
|
17
|
+
|Name |Default value |Description
|
18
|
+
|symbolator |symbolator |The path to the `symbolator` executable
|
19
|
+
|===
|
@@ -0,0 +1,28 @@
|
|
1
|
+
= Syntrax / JSyntrax
|
2
|
+
include::partial$uris.adoc[]
|
3
|
+
|
4
|
+
{uri-syntrax}[Syntrax] is a railroad diagram generator.
|
5
|
+
It creates a visual illustration of the grammar used for programming languages.
|
6
|
+
A specification file describes the syntax as a hierarchy of basic elements.
|
7
|
+
This is processed into an image representing the same syntax with interconnected nodes.
|
8
|
+
|
9
|
+
{uri-jsyntrax}[JSyntrax] is a reimplementation of Syntrax in Java in order to simplify installation, get rid of required libraries and make it easily portable to any operating system.
|
10
|
+
|
11
|
+
== Supported Image Formats
|
12
|
+
|
13
|
+
- PDF
|
14
|
+
- PNG
|
15
|
+
- SVG
|
16
|
+
|
17
|
+
== Attributes
|
18
|
+
|
19
|
+
[cols=">,<,<",options="header"]
|
20
|
+
|===
|
21
|
+
|Name |Default value |Description
|
22
|
+
|syntrax |syntrax |The path to the `syntrax` executable. This attribute is used for the {uri-syntrax}[Syntrax] implementation.
|
23
|
+
|java |java |The path to the `java` executable. This attribute is used for the {uri-jsyntrax}[JSyntrax] implementation. The `DIAGRAM_JSYNTRAX_HOME` environment variable should then also be defined and point to the JSyntrax installation directory. The installation directory can also be specified using the `diagram.jsyntrax.home` Java system property.
|
24
|
+
|heading |unspecified |Diagram title
|
25
|
+
|scale |1 |A scale factor that is applied to the image.
|
26
|
+
|style-file |unspecified |Path to a style config file to pass to Syntrax.
|
27
|
+
|transparent |false |Makes the background of the image transparent instead of opaque white.
|
28
|
+
|===
|
@@ -0,0 +1,21 @@
|
|
1
|
+
= TikZ
|
2
|
+
include::partial$uris.adoc[]
|
3
|
+
|
4
|
+
{uri-tikz}[TikZ] is a graphics drawing environment for TeX.
|
5
|
+
|
6
|
+
TikZ requires a TeX distribution that supports the {uri-tikz}[TikZ] package.
|
7
|
+
|
8
|
+
== Supported Image Formats
|
9
|
+
|
10
|
+
- PDF
|
11
|
+
- SVG
|
12
|
+
|
13
|
+
== Attributes
|
14
|
+
|
15
|
+
[cols=">,<,<",options="header"]
|
16
|
+
|===
|
17
|
+
|Name |Default value |Description
|
18
|
+
|pdflatex |pdflatex |The path to the `pdflatex` executable
|
19
|
+
|pdf2svg |pdf2svg |The path to the `pdf2svg` executable
|
20
|
+
|preamble |unspecified |Code definitions to pass to TikZ.
|
21
|
+
|===
|
@@ -0,0 +1,19 @@
|
|
1
|
+
= UMLet
|
2
|
+
include::partial$uris.adoc[]
|
3
|
+
|
4
|
+
{uri-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.
|
5
|
+
|
6
|
+
== Supported Image Formats
|
7
|
+
|
8
|
+
- GIF
|
9
|
+
- PDF
|
10
|
+
- PNG
|
11
|
+
- SVG
|
12
|
+
|
13
|
+
== Attributes
|
14
|
+
|
15
|
+
[cols=">,<,<",options="header"]
|
16
|
+
|===
|
17
|
+
|Name |Default value |Description
|
18
|
+
|umlet |umlet |The path to the `umlet` executable
|
19
|
+
|===
|
@@ -0,0 +1,28 @@
|
|
1
|
+
= Vega / Vega-Lite
|
2
|
+
include::partial$uris.adoc[]
|
3
|
+
|
4
|
+
{uri-vega}[Vega] and {uri-vegalite}[Vega-Lite] are declarative language for creating, saving, and sharing interactive visualization designs.
|
5
|
+
|
6
|
+
Vega provides basic building blocks for a wide variety of visualization designs: data loading and transformation, scales, map projections, axes, legends, and graphical marks such as rectangles, lines, plotting symbols, etc.
|
7
|
+
|
8
|
+
Vega-Lite provides a more concise and convenient form to author common visualizations. As Vega-Lite can compile its specifications to Vega specifications, users may use Vega-Lite as the primary visualization tool and, if needed, transition to use the lower-level Vega for advanced use cases.
|
9
|
+
|
10
|
+
== Supported Image Formats
|
11
|
+
|
12
|
+
- PNG
|
13
|
+
- SVG
|
14
|
+
|
15
|
+
== Attributes
|
16
|
+
|
17
|
+
|vega |{uri-vega}[vg2png] and/or {uri-vega}[vg2png] |`vg2png` and `vg2svg`
|
18
|
+
|vegalite |{uri-vegalite}[vl2vg] and {uri-vega}[vg2png] and/or {uri-vega}[vg2svg]|`vl2vg`, `vg2png` and `vg2svg`
|
19
|
+
|
20
|
+
[cols=">,<,<",options="header"]
|
21
|
+
|===
|
22
|
+
|Name |Default value |Description
|
23
|
+
|vg2png |vg2png |The path to the `vg2png` executable. This attribute is used for PNG output.
|
24
|
+
|vg2svg |vg2svg |The path to the `vg2svg` executable This attribute is used for SVG output.
|
25
|
+
|vl2vg |vl2vg |The path to the `vl2vg` executable. This attribute is used for Vega-Lite diagrams.
|
26
|
+
|===
|
27
|
+
|
28
|
+
None
|
@@ -0,0 +1,17 @@
|
|
1
|
+
= WaveDrom
|
2
|
+
include::partial$uris.adoc[]
|
3
|
+
|
4
|
+
{uri-wavedrom}[WaveDrom] draws your Timing Diagram or Waveform from simple textual description.
|
5
|
+
|
6
|
+
== Supported Image Formats
|
7
|
+
|
8
|
+
- PNG
|
9
|
+
- SVG
|
10
|
+
|
11
|
+
== Attributes
|
12
|
+
|
13
|
+
[cols=">,<,<",options="header"]
|
14
|
+
|===
|
15
|
+
|Name |Default value |Description
|
16
|
+
|wavedrom |wavedrom |The path to the `wavedrom` executable
|
17
|
+
|===
|
@@ -0,0 +1,25 @@
|
|
1
|
+
= Enabling Extensions
|
2
|
+
|
3
|
+
In your program, you can either load and register the entire set of diagram extensions
|
4
|
+
|
5
|
+
[source,ruby]
|
6
|
+
----
|
7
|
+
require 'asciidoctor-diagram'
|
8
|
+
----
|
9
|
+
|
10
|
+
or load and register each extension individually.
|
11
|
+
|
12
|
+
[source,ruby]
|
13
|
+
----
|
14
|
+
require 'asciidoctor-diagram/<extension_name>'
|
15
|
+
----
|
16
|
+
|
17
|
+
`<extension_name>` can be one of `a2s`, `blockdiag`, `bytefield`, `diagrams`, `ditaa`, `dpic`, `erd`, `gnuplot`, `graphviz`, `meme`, `mermaid`, `msc`, `pikchr`, `plantuml`, `shaape`, `smcat`, `svgbob`, `syntrax`, `umlet`, `vega` or `wavedrom`.
|
18
|
+
|
19
|
+
Requiring one or more of these files will automatically register the extensions for all processed documents.
|
20
|
+
|
21
|
+
If you need more fine-grained control over when the extensions are enabled, `asciidoctor-diagram/<extension_name>/extension` can be used instead.
|
22
|
+
This loads the extensions but does not register it in the Asciidoctor extension registry.
|
23
|
+
You can then manually register the extensions at the appropriate times using the `Asciidoctor::Extensions` API.
|
24
|
+
|
25
|
+
This document explains the various features of asciidoctor-diagram blocks using ditaa diagrams as an example.
|
@@ -1,21 +1,12 @@
|
|
1
|
-
=
|
1
|
+
= Overview
|
2
2
|
Pepijn Van_Eeckhoudt <https://github.com/pepijnve[@pepijnve]>; Sarah White <https://github.com/graphitefriction[@graphitefriction]>
|
3
3
|
:description: README for the Asciidoctor Diagram extension for Asciidoctor.
|
4
4
|
include::partial$uris.adoc[]
|
5
5
|
|
6
|
-
Asciidoctor Diagram is a set of Asciidoctor extensions that enable
|
6
|
+
Asciidoctor Diagram is a set of Asciidoctor extensions that enable rendering of plain text diagrams that are embedded in your AsciiDoc document as part of the Asciidoctor conversion process.
|
7
7
|
|
8
|
-
|
8
|
+
Each extensions will invoke the necessary external diagram rendering tools to produce an image file which is inserted into your converted document.
|
9
9
|
|
10
|
-
|
11
|
-
The generated file is then inserted into your converted document.
|
10
|
+
The extensions support the xref:diagram_types/a2s.adoc[], BlockDiag (xref:diagram_types/blockdiag.adoc[], xref:diagram_types/seqdiag.adoc[], xref:diagram_types/actdiag.adoc[], xref:diagram_types/nwdiag.adoc[]), xref:diagram_types/bytefield.adoc[], xref:diagram_types/dbml.adoc[], xref:diagram_types/ditaa.adoc[], xref:diagram_types/dpic.adoc[], xref:diagram_types/erd.adoc[Erd], xref:diagram_types/gnuplot.adoc[], xref:diagram_types/graphviz.adoc[], xref:diagram_types/lilypond.adoc[], xref:diagram_types/mermaid.adoc[], xref:diagram_types/msc.adoc[], xref:diagram_types/nomnoml.adoc[], xref:diagram_types/penrose.adoc[], xref:diagram_types/pikchr.adoc[], xref:diagram_types/plantuml.adoc[], xref:diagram_types/shaape.adoc[], xref:diagram_types/smcat.adoc[], xref:diagram_types/structurizr.adoc[], xref:diagram_types/svgbob.adoc[], xref:diagram_types/symbolator.adoc[], xref:diagram_types/syntrax.adoc[], xref:diagram_types/umlet.adoc[], xref:diagram_types/vega.adoc[], and xref:diagram_types/wavedrom.adoc[] syntax.
|
12
11
|
|
13
|
-
Asciidoctor Diagram was inspired by the {uri-py-plantuml}[AsciiDoc PlantUML filter].
|
14
|
-
|
15
|
-
include::partial$installation.adoc[]
|
16
|
-
|
17
|
-
include::partial$create_diagram.adoc[]
|
18
|
-
|
19
|
-
include::partial$generate.adoc[]
|
20
|
-
|
21
|
-
include::partial$advanced.adoc[]
|
12
|
+
Asciidoctor Diagram was inspired by the {uri-py-plantuml}[AsciiDoc PlantUML filter].
|