Multilingual Wiki Documentation

You are currently using syntax.
In an attempt to improve PlantUML documentation...
Please do not use this website for your own diagrams.
You can click here and use the online server here for your own documentation.

Recent changes    Wiki Toc    View page history    Add new chapter    Reorder page    Raw

Creole

A light Creole engine has been integrated into PlantUML to have a standardized way of defining text style.

All diagrams are now supporting this syntax.

Note that ascending compatibility with HTML syntax is preserved.

PlantUML Team
Welcome !
All contributions made here are public.
Thanks for helping us to improve PlantUML documentation !

Emphasized text

@startuml
Alice -> Bob : hello --there--
... Some ~~long delay~~ ...
Bob -> Alice : ok
note left
  This is **bold**
  This is //italics//
  This is ""monospaced""
  This is --stroked--
  This is __underlined__
  This is ~~waved~~
end note
@enduml

PlantUML Team
You can use this chat to ask questions or to give any feedback on Emphasized text

List

@startuml
object demo {
  * Bullet list
  * Second item
}
note left
  * Bullet list
  * Second item
  ** Sub item
end note

legend
  # Numbered list
  # Second item
  ## Sub item
  ## Another sub item
  # Third item
end legend
@enduml

PlantUML Team
You can use this chat to ask questions or to give any feedback on List

Escape character

You can use the tilde ~ to escape special creole characters.

@startuml
object demo {
  This is not ~___underscored__.
  This is not ~""monospaced"".
}
@enduml

PlantUML Team
You can use this chat to ask questions or to give any feedback on Escape character

Horizontal lines

@startuml
database DB1 as "
You can have horizontal line
----
Or double line
====
Or strong line
____
Or dotted line
..My title..
Enjoy!
"
note right
  This is working also in notes
  You can also add title in all these lines
  ==Title==
  --Another title--
end note

@enduml

PlantUML Team
You can use this chat to ask questions or to give any feedback on Horizontal lines

Headings

@startuml
usecase UC1 as "
= Extra-large heading
Some text
== Large heading
Other text
=== Medium heading
Information
....
==== Small heading"
@enduml

PlantUML Team
You can use this chat to ask questions or to give any feedback on Headings

Legacy HTML

Some HTML tags are also working:
  • <b> for bold text
  • <u> or <u:#AAAAAA> or <u:[[color|colorName]]> for underline
  • <i> for italic
  • <s> or <s:#AAAAAA> or <s:[[color|colorName]]> for strike text
  • <w> or <w:#AAAAAA> or <w:[[color|colorName]]> for wave underline text
  • <color:#AAAAAA> or <color:[[color|colorName]]>
  • <back:#AAAAAA> or <back:[[color|colorName]]> for background color
  • <size:nn> to change font size
  • <img:file> : the file must be accessible by the filesystem
  • <img:http://plantuml.com/logo3.png> : the URL must be available from the Internet

@startuml
:* You can change <color:red>text color</color>
* You can change <back:cadetblue>background color</back>
* You can change <size:18>size</size>
* You use <u>legacy</u> <b>HTML <i>tag</i></b>
* You use <u:red>color</u> <s:green>in HTML</s> <w:#0000FF>tag</w>
----
* Use image : <img:http://plantuml.com/logo3.png>
;
@enduml

PlantUML Team
You can use this chat to ask questions or to give any feedback on Legacy HTML

Table

It is possible to build table.

@startuml
skinparam titleFontSize 14
title
  Example of simple table
  |= |= table |= header |
  | a | table | row |
  | b | table | row |
end title
[*] --> State1
@enduml

You can specify background colors for cells and lines.

@startuml
start
:Here is the result
|= |= table |= header |
| a | table | row |
|<#FF8080> red |<#80FF80> green |<#8080FF> blue |
<#yellow>| b | table | row |;
@enduml

You can also specify background colors for border.

@startuml
title
<#lightblue,#red>|=  Step  |=  Date  |=  Name  |=  Status  |=  Link  |
<#lightgreen>|  1.1  |  TBD  | plantuml news |<#Navy><color:OrangeRed><b> Unknown  | [[https://plantuml.com/news plantuml news]] |
end title
@enduml

Yan can have a bold header or not.

@startuml
note as deepCSS0
  |<#white> Husky / Yorkie |
  |<#gainsboro> SourceTree0 |
endnote

note as deepCSS1
  |= <#white> Husky / Yorkie |= Foo |
  |<#gainsboro><r> SourceTree1 | foo1 |
endnote

note as deepCSS2
  |= Husky / Yorkie |
  |<#gainsboro> SourceTree2 |
endnote

note as deepCSS3
  <#white>|= Husky / Yorkie |= Foo |
  |<#gainsboro> SourceTree1 | foo1 |
endnote
@enduml

[Ref. QA-10923]
PlantUML Team
You can use this chat to ask questions or to give any feedback on Table

Tree

You can use |_ characters to build a tree.

@startuml
skinparam titleFontSize 14
title
  Example of Tree
  |_ First line
  |_ **Bom(Model)**
    |_ prop1
    |_ prop2
    |_ prop3
  |_ Last line
end title
[*] --> State1
@enduml

And add in component or deployement diagram:

@startuml
[A] as A
rectangle "Box B" {
    component B [
        Level 1
        |_ Level 2a
          |_ Level 3a 
          |_ Level 3b
          |_ Level 3c
            |_ Level 4a
          |_ Level 3d
        |_ Level 2b
          |_ Level 3e
    ]
}
A -> B
@enduml

[Ref. QA-11365]

PlantUML Team
You can use this chat to ask questions or to give any feedback on Tree

Special characters

It's possible to use any unicode characters with &# syntax or <U+XXXX>

@startuml
usecase foo as "this is &#8734; long"
usecase bar as "this is also <U+221E> long"
@enduml

PlantUML Team
You can use this chat to ask questions or to give any feedback on Special characters

OpenIconic

OpenIconic is an very nice open source icon set. Those icons have been integrated into the creole parser, so you can use them out-of-the-box.

You can use the following syntax: <&ICON_NAME>.

@startuml
title: <size:20><&heart>Use of OpenIconic<&heart></size>
class Wifi
note left
  Click on <&wifi>
end note
@enduml

The complete list is available on OpenIconic Website, or you can use the following special diagram:

@startuml
listopeniconic
@enduml

PlantUML Team
You can use this chat to ask questions or to give any feedback on OpenIconic

Appendice: Examples of "Creole List" on all diagrams

Activity

@startuml
start
:**test list 1**
* Bullet list
* Second item
** Sub item
*** Sub sub item
* Third item
**test list 2**
# Numbered list
# Second item
## Sub item
## Another sub item
# Third item;
stop
@enduml

Class

FIXME
🚩
  • Sub item
  • Sub sub item
FIXME

@startuml

class a {
**test list 1**
* Bullet list
* Second item
** Sub item
*** Sub sub item
* Third item
----
**test list 2**
# Numbered list
# Second item
## Sub item
## Another sub item
# Third item
}

a -- b 

@enduml

Component, Deployment, Use-Case

@startuml
node n [
**test list 1**
* Bullet list
* Second item
** Sub item
*** Sub sub item
* Third item
----
**test list 2**
# Numbered list
# Second item
## Sub item
## Another sub item
# Third item
]

file f as "
**test list 1**
* Bullet list
* Second item
** Sub item
*** Sub sub item
* Third item
----
**test list 2**
# Numbered list
# Second item
## Sub item
## Another sub item
# Third item
"
@enduml

DONE
[Corrected on V1.2020.18]

Gantt project planning

N/A

Object

FIXME
🚩
  • Sub item
  • Sub sub item
FIXME

@startuml
object user {
**test list 1**
* Bullet list
* Second item
** Sub item
*** Sub sub item
* Third item
----	
**test list 2**
# Numbered list
# Second item
## Sub item
## Another sub item
# Third item
}

@enduml

MindMap

@startmindmap

* root
** d1
**:**test list 1**
* Bullet list
* Second item
** Sub item
*** Sub sub item
* Third item
----
**test list 2**
# Numbered list
# Second item
## Sub item
## Another sub item
# Third item;


@endmindmap

Network (nwdiag)

N/A

Sequence

N/A (or on note or common commands)

State

N/A (or on note or common commands)
PlantUML Team
You can use this chat to ask questions or to give any feedback on Appendice: Examples of Creole List on all diagrams

Appendice: Examples of "Creole horizontal lines" on all diagrams

Activity

FIXME
🚩 strong line ____
FIXME

@startuml
start
:You can have horizontal line
----
Or double line
====
Or strong line
____
Or dotted line
..My title..
//and title... //
==Title==
--Another title--
Enjoy!;
stop
@enduml

Class

@startuml

class a {
You can have horizontal line
----
Or double line
====
Or strong line
____
Or dotted line
..My title..
//and title... //
==Title==
--Another title--
Enjoy!
}

a -- b 

@enduml

Component, Deployment, Use-Case

@startuml
node n [
You can have horizontal line
----
Or double line
====
Or strong line
____
Or dotted line
..My title..
//and title... //
==Title==
--Another title--
Enjoy!
]

file f as "
You can have horizontal line
----
Or double line
====
Or strong line
____
Or dotted line
..My title..
//and title... //
==Title==
--Another title--
Enjoy!
"
@enduml

Gantt project planning

N/A

Object

@startuml
object user {
You can have horizontal line
----
Or double line
====
Or strong line
____
Or dotted line
..My title..
//and title... //
==Title==
--Another title--
Enjoy!
}

@enduml

DONE
[Corrected on V1.2020.18]

MindMap

FIXME
🚩 strong line ____
FIXME

@startmindmap

* root
** d1
**:You can have horizontal line
----
Or double line
====
Or strong line
____
Or dotted line
..My title..
//and title... //
==Title==
--Another title--
Enjoy!;

@endmindmap

Network (nwdiag)

N/A

Sequence

N/A (or on note or common commands)

State

N/A (or on note or common commands)
PlantUML Team
You can use this chat to ask questions or to give any feedback on Appendice: Examples of "Creole horizontal lines" on all diagrams

Style equivalent (between Creole and HTML)

Style Creole Legacy HTML like
bold This is **bold** This is <b>bold</b>
italics This is //italics// This is <i>italics</i>
monospaced This is ""monospaced"" This is <font:monospaced>monospaced</font>
stroked This is --stroked-- This is <s>stroked</s>
underlined This is __underlined__ This is <u>underlined</u>
waved This is ~~waved~~ This is <w>waved</w>

@startmindmap
* Style equivalent\n(between Creole and HTML) 
**:**Creole**
----
<#silver>|= code|= output|
| \n This is ""~**bold**""\n | \n This is **bold** |
| \n This is ""~//italics//""\n | \n This is //italics// |
| \n This is ""~""monospaced~"" ""\n | \n This is ""monospaced"" |
| \n This is ""~--stroked--""\n | \n This is --stroked-- |
| \n This is ""~__underlined__""\n |  \n This is __underlined__ |
| \n This is ""<U+007E><U+007E>waved<U+007E><U+007E>""\n | \n This is ~~waved~~ |;
**:<b>Legacy HTML like
----
<#silver>|= code|= output|
| \n This is ""~<b>bold</b>""\n | \n This is <b>bold</b> |
| \n This is ""~<i>italics</i>""\n | \n This is <i>italics</i> |
| \n This is ""~<font:monospaced>monospaced</font>""\n | \n This is <font:monospaced>monospaced</font> |
| \n This is ""~<s>stroked</s>""\n | \n  This is <s>stroked</s> |
| \n This is ""~<u>underlined</u>""\n | \n This is <u>underlined</u> |
| \n This is ""~<w>waved</w>""\n | \n This is <w>waved</w> |

And color as a bonus...
<#silver>|= code|= output|
| \n This is ""~<s:""<color:green>""green""</color>"">stroked</s>""\n | \n  This is <s:green>stroked</s> |
| \n This is ""~<u:""<color:red>""red""</color>"">underlined</u>""\n | \n This is <u:red>underlined</u> |
| \n This is ""~<w:""<color:#0000FF>""#0000FF""</color>"">waved</w>""\n | \n This is <w:#0000FF>waved</w> |;
@endmindmap

PlantUML Team
You can use this chat to ask questions or to give any feedback on Style equivalent (between Creole and HTML)


Please report any bugs to plantuml@gmail.com or here.
This website is still in beta testing.