Purpose
Create UML and other diagrams with PlantUML.Parameter
All parameters are optional.
Name | Description |
---|---|
type | Type of the diagram. Supported values are:
This needs to be set if you want to create DITAA, GraphViz (dot), JCCKit or Salt diagrams. |
align | Align the diagram. Supported values are:
|
border | Border size in pixel. Value must be integer > 0. |
hspace | Extra space left and right from the image. Value must be integer > 0. |
vspace | Extra space below and above the image. Value must be integer > 0. |
title | Title of the diagram, default is none title. This is only supported by some diagrams of type plantuml . |
dropshadow | Drop shadow: 'true' (default), 'false'. This feature is not supported by all diagram types. |
separation | Separation of common edges of shapes in DITAA diagrams: 'true' (default), 'false' |
format | PNG (default) SVG (beta) |
exportName | The graph will be stored as attachment if exportName is given. |
debug | true = Enable debugging. |
Sample Images
Sample Code
The body of the macro contains the PlantUML block. The @startuml
and @enduml
tags are not required.
{plantuml} state "In Progress" as InProgress Open --> InProgress : Start Progress Open --> Resolved : Resolve Issue Open --> Closed : Close Issue InProgress -up-> Open : Stop Progress InProgress --> Resolved : Resolve Issue InProgress --> Closed : Close Issue Resolved --> Closed : Close Issue Resolved --> Reopened : Reopen Issue Reopened --> Resolved : Resolve Issue Reopened --> Closed : Close Issue Reopened --> InProgress: Start Progress Closed -up-> Reopened : Reopen Issue {plantuml}
Include content from attachment or other wiki page
The PlantUML Macro supports the !include
directive to include attachments or wiki pages in your diagram. It is not allowed to include files from the filesystem on the server side.
The following link types are supported:
^attachment.ext
pagetitle
pagetitle^attachment.ext
spacekey:pagetitle
spacekey:pagetitle^attachment.ext
In the following example the content of the attachment common.iuml from the current wiki page will be included.
{startuml} !include ^common.iuml Foo <!-- Bar {startuml}
URLs in diagrams
This feature is not supported in sequence and ditaa diagrams.
You can link components of a diagram to other Confluence pages or to external URLs (see sample below). The linkage is still beta since this feature is not officially integrated into the PlantUML library! From version 1.4.2 links can also be written using Confluence markup.
{plantuml} Internet --|> Space Space --|> Page url for Internet is [[http://www.jcoderz.org/fawkez]] url for Space is [[FOO:Bar]] url for Page is [Link in Confluence Markup|Home] {plantuml}
The following list contains all different link notations that can be used inside Confluence:
- [#anchor]
- [pagetitle]
- [pagetitle#anchor]
- [spacekey:pagetitle]
- [spacekey:pagetitle#anchor]
- [phrase@shortcut]
You can always pass a 'alias' that can be used as link text. To separate the URL from the alias use the pipe symbol '|'.
url for Space is [[FOO:Bar|This is the link text]] url for Space is [This is the link text|FOO:Bar]
Standard links are enclosed by two brackets instead of Confluence links that are enclosed by only one bracket. If the link starts with a slash '/' like /path/to/file.html
or the link contains a protocol like http://www.jcoderz.org
than this will not be interpreted as Confluence link and therefore stays untouched.
Embedding Images
It is possible to embed images into a diagram using the creole engine.
title <u>Simple</u> communication example on <i>several</i> lines and using <font color=red>html</font> This is a local image on the server <img /home/confluence/confluence-5.9/atlassian-confluence-5.9.6/confluence/images/icons/mail.png> This is the compact syntax <img:http://www.eclipse.org/tptp/images/ico_home.gif> end title A -> B: Request A <-- B: Response
Svek
The default rendering mode for PlantUML diagrams is Svek. The difference between Svek and the old GraphViz rendering mode is illustrated in the following picture:
The 1st diagram left is rendered using the (old) GraphViz mode. The other diagrams are rendered using the (default) Svek rendering mode (w/ and w/o drop-shadow effect and the last one is a SVG image instead of PNG image).
SVG Support
All diagrams are rendered as PNG image by default. You can switch to SVG output format using the "format" macro parameter:
{plantuml:format=SVG} Foo o-- Bar {plantuml}