asciidoctor-diagram 2.2.8 → 2.2.10

Sign up to get free protection for your applications and to get access to all the features.
Files changed (110) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.adoc +23 -0
  3. data/docs/antora.yml +3 -1
  4. data/docs/modules/ROOT/images/a2s.svg +44 -0
  5. data/docs/modules/ROOT/images/actdiag.png +0 -0
  6. data/docs/modules/ROOT/images/asciidoctor-diagram-process.png +0 -0
  7. data/docs/modules/ROOT/images/barcode.png +0 -0
  8. data/docs/modules/ROOT/images/barcode2.png +0 -0
  9. data/docs/modules/ROOT/images/blockdiag.png +0 -0
  10. data/docs/modules/ROOT/images/d2.png +0 -0
  11. data/docs/modules/ROOT/images/lilypond.png +0 -0
  12. data/docs/modules/ROOT/images/penrose.png +0 -0
  13. data/docs/modules/ROOT/nav.adoc +41 -0
  14. data/docs/modules/ROOT/{partials/create_diagram.adoc → pages/blocks.adoc} +52 -48
  15. data/docs/modules/ROOT/pages/diagram_types/a2s.adoc +47 -0
  16. data/docs/modules/ROOT/pages/diagram_types/actdiag.adoc +46 -0
  17. data/docs/modules/ROOT/pages/diagram_types/barcode.adoc +72 -0
  18. data/docs/modules/ROOT/pages/diagram_types/blockdiag.adoc +38 -0
  19. data/docs/modules/ROOT/pages/diagram_types/bpmn.adoc +21 -0
  20. data/docs/modules/ROOT/pages/diagram_types/bytefield.adoc +16 -0
  21. data/docs/modules/ROOT/pages/diagram_types/d2.adoc +43 -0
  22. data/docs/modules/ROOT/pages/diagram_types/dbml.adoc +16 -0
  23. data/docs/modules/ROOT/pages/diagram_types/diagrams.adoc +20 -0
  24. data/docs/modules/ROOT/pages/diagram_types/ditaa.adoc +31 -0
  25. data/docs/modules/ROOT/pages/diagram_types/dpic.adoc +16 -0
  26. data/docs/modules/ROOT/pages/diagram_types/erd.adoc +17 -0
  27. data/docs/modules/ROOT/pages/diagram_types/gnuplot.adoc +27 -0
  28. data/docs/modules/ROOT/pages/diagram_types/graphviz.adoc +21 -0
  29. data/docs/modules/ROOT/pages/diagram_types/lilypond.adoc +27 -0
  30. data/docs/modules/ROOT/pages/diagram_types/meme.adoc +34 -0
  31. data/docs/modules/ROOT/pages/diagram_types/mermaid.adoc +28 -0
  32. data/docs/modules/ROOT/pages/diagram_types/msc.adoc +23 -0
  33. data/docs/modules/ROOT/pages/diagram_types/nomnoml.adoc +16 -0
  34. data/docs/modules/ROOT/pages/diagram_types/nwdiag.adoc +22 -0
  35. data/docs/modules/ROOT/pages/diagram_types/penrose.adoc +50 -0
  36. data/docs/modules/ROOT/pages/diagram_types/pikchr.adoc +16 -0
  37. data/docs/modules/ROOT/pages/diagram_types/plantuml.adoc +24 -0
  38. data/docs/modules/ROOT/pages/diagram_types/seqdiag.adoc +18 -0
  39. data/docs/modules/ROOT/pages/diagram_types/shaape.adoc +18 -0
  40. data/docs/modules/ROOT/pages/diagram_types/smcat.adoc +18 -0
  41. data/docs/modules/ROOT/pages/diagram_types/structurizr.adoc +29 -0
  42. data/docs/modules/ROOT/pages/diagram_types/svgbob.adoc +21 -0
  43. data/docs/modules/ROOT/pages/diagram_types/symbolator.adoc +19 -0
  44. data/docs/modules/ROOT/pages/diagram_types/syntrax.adoc +28 -0
  45. data/docs/modules/ROOT/pages/diagram_types/tikz.adoc +21 -0
  46. data/docs/modules/ROOT/pages/diagram_types/umlet.adoc +19 -0
  47. data/docs/modules/ROOT/pages/diagram_types/vega.adoc +28 -0
  48. data/docs/modules/ROOT/pages/diagram_types/wavedrom.adoc +17 -0
  49. data/docs/modules/ROOT/pages/enabling.adoc +25 -0
  50. data/docs/modules/ROOT/{partials → pages}/generate.adoc +1 -1
  51. data/docs/modules/ROOT/pages/index.adoc +5 -14
  52. data/docs/modules/ROOT/pages/installation.adoc +32 -0
  53. data/docs/modules/ROOT/pages/output.adoc +19 -0
  54. data/docs/modules/ROOT/partials/shared-attrs.adoc +12 -0
  55. data/docs/modules/ROOT/partials/uris.adoc +2 -0
  56. data/lib/asciidoctor-diagram/barcode/converter.rb +83 -78
  57. data/lib/asciidoctor-diagram/d2/converter.rb +1 -1
  58. data/lib/asciidoctor-diagram/diagram_processor.rb +16 -1
  59. data/lib/asciidoctor-diagram/diagram_source.rb +10 -2
  60. data/lib/asciidoctor-diagram/ditaa/converter.rb +3 -3
  61. data/lib/asciidoctor-diagram/lilypond/converter.rb +2 -2
  62. data/lib/asciidoctor-diagram/penrose/converter.rb +50 -0
  63. data/lib/asciidoctor-diagram/penrose/extension.rb +18 -0
  64. data/lib/asciidoctor-diagram/penrose.rb +8 -0
  65. data/lib/asciidoctor-diagram/plantuml/converter.rb +3 -3
  66. data/lib/asciidoctor-diagram/structurizr/converter.rb +8 -8
  67. data/lib/asciidoctor-diagram/structurizr/extension.rb +1 -1
  68. data/lib/asciidoctor-diagram/structurizr/structurizr-2.0.3.jar +0 -0
  69. data/lib/asciidoctor-diagram/syntrax/converter.rb +6 -6
  70. data/lib/asciidoctor-diagram/util/java_jruby.rb +4 -0
  71. data/lib/asciidoctor-diagram/util/java_socket.rb +4 -0
  72. data/lib/asciidoctor-diagram/version.rb +1 -1
  73. data/lib/asciidoctor-diagram.rb +1 -0
  74. data/spec/a2s_spec.rb +1 -1
  75. data/spec/barcode_spec.rb +4 -4
  76. data/spec/blockdiag_spec.rb +1 -1
  77. data/spec/bpmn_spec.rb +1 -1
  78. data/spec/bytefield_spec.rb +1 -1
  79. data/spec/d2_spec.rb +29 -2
  80. data/spec/dbml_spec.rb +1 -1
  81. data/spec/diagrams_spec.rb +1 -1
  82. data/spec/ditaa_spec.rb +1 -1
  83. data/spec/dpic_spec.rb +1 -1
  84. data/spec/erd_spec.rb +1 -1
  85. data/spec/gnuplot_spec.rb +1 -1
  86. data/spec/graphviz_py_spec.rb +1 -1
  87. data/spec/graphviz_spec.rb +1 -1
  88. data/spec/lilypond_spec.rb +1 -1
  89. data/spec/meme_spec.rb +1 -1
  90. data/spec/mermaid_spec.rb +1 -38
  91. data/spec/msc_spec.rb +1 -1
  92. data/spec/nomnoml_spec.rb +1 -1
  93. data/spec/pikchr_spec.rb +1 -1
  94. data/spec/plantuml_spec.rb +1 -1
  95. data/spec/shaape_spec.rb +1 -1
  96. data/spec/shared_examples.rb +3 -1
  97. data/spec/smcat_spec.rb +1 -1
  98. data/spec/structurizr_spec.rb +41 -0
  99. data/spec/svgbob_spec.rb +1 -1
  100. data/spec/symbolator_spec.rb +1 -1
  101. data/spec/syntrax_spec.rb +1 -1
  102. data/spec/{test_helper.rb → test_helper_methods.rb} +6 -1
  103. data/spec/tikz_spec.rb +1 -1
  104. data/spec/umlet_spec.rb +1 -1
  105. data/spec/vega_spec.rb +1 -1
  106. data/spec/wavedrom_spec.rb +1 -1
  107. metadata +63 -13
  108. data/docs/modules/ROOT/partials/advanced.adoc +0 -397
  109. data/docs/modules/ROOT/partials/installation.adoc +0 -19
  110. 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,4 +1,4 @@
1
- == Generating a Diagram from a Terminal
1
+ = Rendering Diagrams
2
2
 
3
3
  You can load Asciidoctor diagram in a terminal using the `-r` flag.
4
4
 
@@ -1,21 +1,12 @@
1
- = Asciidoctor Diagram
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 you to add diagrams, which you describe using plain text, to your AsciiDoc document.
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
- The extensions support the {uri-a2s}[AsciiToSVG], BlockDiag ({uri-blockdiag}[BlockDiag], {uri-seqdiag}[SeqDiag], {uri-actdiag}[ActDiag], {uri-nwdiag}[NwDiag]), {uri-bytefield}[Bytefield-SVG], {uri-dbml}[DBML], {uri-ditaa}[Ditaa], {uri-dpic}[dpic], {uri-erd}[Erd], {uri-gnuplot}[Gnuplot], {uri-dot}[GraphViz], {uri-mermaid}[Mermaid], {uri-mscgen}[Msc], {uri-nomnoml}[Nomnoml], {uri-pikchr}[Pikchr], {uri-plantuml}[PlantUML], {uri-shaape}[Shaape], {uri-smcat}[State Machine Cat], {uri-structurizr}[Structurizr], {uri-svgbob}[SvgBob], {uri-symbolator}[Symbolator], {uri-syntrax}[Syntrax] / {uri-jsyntrax}[JSyntrax], {uri-umlet}[UMLet], {uri-vega}[Vega], {uri-vegalite}[Vega-Lite] and {uri-wavedrom}[WaveDrom] syntax.
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
- Each extension runs the diagram processor to generate an SVG, PNG, or TXT file from the input text.
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].