Generalisation

PlantUML now can generate diagrams other than UML. In such cases the usual @startuml does not make sense anymore. So now we allow diagrams start with @startXYZ and finish with @endXYZ, where XYZ can change with the type of diagram and can be any characters (including spaces).

This means that plugin developers are encouraged to change their code to recognize @start instead of @startuml.

DITAA diagrams are usually formatted as @startditaa...@endditaa.

Ditaa

Ditaa (DIagrams Through Ascii Art) is an Open Source project that allows to generate general diagrams from a text descriptions. The idea is close to PlantUML, and it may be useful for documentation to generate other diagrams than UML.

So last version of PlantUML allows this :

@startuml
ditaa
+--------+   +-------+    +-------+
|        +---+ ditaa +--> |       |
|  Text  |   +-------+    |diagram|
|Document|   |!magic!|    |       |
|     {d}|   |       |    |       |
+---+----+   +-------+    +-------+
    :                         ^
    |       Lots of work      |
    +-------------------------+
@enduml

You will find the complete documentation about ditaa on: * ditaa.sourceforge.net * github.com/stathissideris/ditaa

If your plugin does not support @startditaa yet, a temporary feature has been set up : it is also possible to use Ditaa with @startuml by using ditaa keyword on the very first line of your description.

⚠ On PlantUML, only PNG generation is supported.

Option supported by PlantUML

You can also use some option, after the @startditaa or ditaa keyword:

  • -E or --no-separation to remove separator

  • -S or --no-shadows to remove shadow

  • scale=<XYZ> to scale up or down the diagram

Without option

@startditaa
+---------+  /--------\   +-------+
| cBLU    +--+cAAA    +---+Version|
|         |  |  Data  |   |   V3  |
|    +----+  |  Base  |   |cRED{d}|
|    |cPNK|  |     {s}|   +-------+
|    |    |  \---+----/
+----+----+
@endditaa

Remove separator

@startditaa -E
+---------+  /--------\   +-------+
| cBLU    +--+cAAA    +---+Version|
|         |  |  Data  |   |   V3  |
|    +----+  |  Base  |   |cRED{d}|
|    |cPNK|  |     {s}|   +-------+
|    |    |  \---+----/
+----+----+
@endditaa

Remove shadow or scale diagram

@startuml
ditaa(--no-shadows, scale=0.7)
+---------+  /--------\   +-------+
| cBLU    +--+cAAA    +---+Version|
|         |  |  Data  |   |   V3  |
|    +----+  |  Base  |   |cRED{d}|
|    |cPNK|  |     {s}|   +-------+
|    |    |  \---+----/
+----+----+
@enduml

Tags

Tag Description

{c}

Choice or Decision

{d}

Document - Symbol representing a document

{io}

Input/Output - Symbol representing input/output

{mo}

Manual operation

{o}

Ellipse

{s}

Storage - Symbol representing a form of storage, like a database or a hard disk.

{tr}

Trapezoid

@startditaa
+------+------+------+------+------+------+------+
| c {c}|d {d} |io{io}|mo{mo}|o{o}  |s{s}  |tr{tr}|
+------+------+------+------+------+------+------+
@endditaa

More documentation

You will find the complete documentation about ditaa on: * ditaa.sourceforge.net * github.com/stathissideris/ditaa