Creole

Creole is a lightweight common markup language for various wikis. A light-weight Creole engine is integrated in PlantUML to have a standardized way to emit styled text.

All diagrams support this syntax.

Note that compatibility with HTML syntax is preserved.

Emphasized text

Lists

You can use numbered and bulleted lists in node text, notes, etc.

FIXME
🚩 You cannot quite mix numbers and bullets in a list and its sublist.

Escape character

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

Headings

Emoji

All emojis from Twemoji (see EmojiTwo on Github) are available using the following syntax:

Unlike Unicode Special characters that depend on installed fonts, the emoji are always available. Furthermore, emoji are already colored, but you can recolor them if you like (see examples above).

One can pick emoji from the emoji cheat sheet, the Unicode full-emoji-list, or the flat list emoji.txt in the plantuml source.

You can also use the following PlantUML command to list available emoji:

@startuml
emoji <block>
@enduml

As of 13 April 2023, you can select between 1174 emoji from the following Unicode blocks:

Unicode block 26

Horizontal lines

Links

You can also use URL and links.

Simple links are define using two square brackets (or three square brackets for field or method on class diagram).

Example:

URL can also be authenticated.

Code

You can use <code> to display some programming code in your diagram (sorry, syntax highlighting is not yet supported).

This is especially useful to illustrate some PlantUML code and the resulting rendering:

Table

Create a table

It is possible to build table, with | separator.

Align fields using Table

You can use a table to align "fields" of class members. The example below (taken from buildingSmart Data Dictionary shows for each member: icon, name, datatype and cardinality. Use the <#transparent,#transparent> color specification so table cells have no foreground and background color.

(The example also shows the use of icons)

You can also try to use tabs \t and skinparam tabSize n to align fields, but this doesn't work so well: [Ref. QA-3820]

Add color on rows or cells

You can specify background colors of rows and cells:

Add color on border and text

You can also specify colors of text and borders.

[Ref. QA-7184]

No border or same color as the background

You can also set the border color to the same color as the background.

[Ref. QA-12448]

Bold header or not

= as the first char of a cell indicates whether to make it bold (usually used for headers), or not.

[Ref. QA-10923]

Tree

You can use |_ characters to build a tree.

On common commands, like title:

On Class diagram.

(Please note how we have to use an empty second compartment, else the parentheses in (Model) cause that text to be moved to a separate first compartment):
[Ref. QA-3448]

On Component or Deployment diagrams:
[Ref. QA-11365]

Special characters

It's possible to use any unicode character, either directly or with syntax &#nnnnnn; (decimal) or <U+XXXXX> (hex):

Please note that not all Unicode chars appear correctly, depending on installed fonts.

See Issue 72 for more details.

Legacy HTML

You can mix Creole with the following HTML tags:

Common HTML element

[Ref. QA-5254 for plain]

Subscript and Superscript element [sub, sup]

OpenIconic

OpenIconic is a very nice open-source icon set. Those icons are integrated in the creole parser, so you can use them out-of-the-box.

Use the following syntax: <&ICON_NAME>.

The complete list is available with the following special command:

Appendix: Examples of "Creole List" on all diagrams

Activity

Class

FIXME
🚩
FIXME

Component, Deployment, Use-Case

DONE
[Corrected in V1.2020.18]

Gantt project planning

N/A

Object

FIXME
🚩
FIXME

MindMap

Network (nwdiag)

Note

Sequence

[Ref. QA-15232]

State

[Ref. QA-16978]

WBS

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

Activity

FIXME
🚩 strong line ____
FIXME

Class

Component, Deployment, Use-Case

Gantt project planning

N/A

Object

DONE
[Corrected on V1.2020.18]

MindMap

FIXME
🚩 strong line ____
FIXME

Network (nwdiag)

Note

Sequence

[Ref. QA-15232]

State

[Ref. QA-16978, GH-1479]

WBS

FIXME
🚩 strong line ____
FIXME

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>

Creole on Creole

You can use Creole or HTML Creole on Creole diagram: