Откройте для себя основные команды, универсальные для всех типов диаграмм в PlantUML. Эти команды позволяют придать диаграммам многогранность и индивидуальность. Ниже мы разделим эти общие команды на три основные категории: Глобальные элементы- Комментарии: Добавляют примечания или пояснения в сценарий диаграммы для передачи дополнительной информации или напоминания о необходимости дальнейших изменений.
- Примечания: Включение дополнительной информации непосредственно в диаграмму для облегчения понимания или выделения важных аспектов.
- Управление размерами: Настройте размеры различных элементов в соответствии с вашими предпочтениями, чтобы диаграмма получилась сбалансированной и пропорциональной.
- Заголовок и подписи: Определите подходящий заголовок и добавьте подписи, чтобы прояснить контекст или аннотировать определенные части диаграммы.
Описание синтаксиса Creole Используйте возможности синтаксиса Creole для дальнейшего форматирования содержимого любого элемента диаграммы. Этот стиль вики-разметки позволяет: - Форматирование текста: Настраивать внешний вид текста с помощью различных стилей и выравниваний.
- Списки: Создавать упорядоченные и неупорядоченные списки для удобного представления информации.
- Ссылки: Встраивать гиперссылки для быстрого перехода к нужным ресурсам.
Команда управления стилями С помощью команды style можно полностью контролировать стиль представления элементов диаграммы. С ее помощью можно: - Определить стили: Задать единые стили для элементов, чтобы сохранить целостность визуальной темы.
- Настроить цвета: Выбор определенных цветов для различных элементов для повышения визуальной привлекательности и создания четкой классификации.
Используйте эти команды для создания функциональных и эстетически привлекательных диаграмм, настраивая каждый элемент в соответствии с вашими требованиями. Простой комментарий Все записи начинающиеся с "одинарной кавычки" - это комментарии.
@startuml
'Для однострочного комментария используется одиночный апостроф
@enduml
Block comment Block comment use C-style comments except that instead of * you use an apostrophe ' , then you can also put comments on several lines using /' to start and '/ to end.
@startuml
/'
many lines comments
here
'/
@enduml
[Ref. QA-1353] Then you can also put block comment on the same line, as: 🎉 Copied! 
 | @startuml
/' case 1 '/ A -> B : AB-First step
B -> C : BC-Second step
/' case 2 '/ D -> E : DE-Third step
@enduml
| [Ref. QA-3906 and QA-3910][Ref. GH-214]WARNING This translation need to be updated. WARNING You can use the scale command to zoom the generated image. You can use either a number or a fraction to define the scale factor. You can also specify either width or height (in pixel). And you can also give both width and height : the image is scaled to fit inside the specified dimension. scale 1.5 scale 2/3 scale 200 width scale 200 height scale 200*100 scale max 300*200 scale max 1024 width scale max 800 height
🎉 Copied! 
 | @startuml
scale 180*90
Bob->Alice : hello
@enduml
|
The title keywords is used to put a title. You can add newline using \n in the title description. Some skinparam settings are available to put borders on the title. 🎉 Copied! 
 | @startuml
skinparam titleBorderRoundCorner 15
skinparam titleBorderThickness 2
skinparam titleBorderColor red
skinparam titleBackgroundColor Aqua-CadetBlue
title Simple communication\nexample
Alice -> Bob: Authentication Request
Bob --> Alice: Authentication Response
@enduml
| You can use creole formatting in the title. You can also define title on several lines using title and end title keywords. 🎉 Copied! 
 | @startuml
title
<u>Simple</u> communication example
on <i>several</i> lines and using <back:cadetblue>creole tags</back>
end title
Alice -> Bob: Authentication Request
Bob -> Alice: Authentication Response
@enduml
| There is also a caption keyword to put a caption under the diagram. 🎉 Copied! 
 | @startuml
caption figure 1
Alice -> Bob: Hello
@enduml
| You can use the commands header or footer to add a footer or a header on any generated diagram. You can optionally specify if you want a center , left or right footer/header, by adding a keyword. As with title, it is possible to define a header or a footer on several lines. It is also possible to put some HTML into the header or footer. 🎉 Copied! 
 | @startuml
Alice -> Bob: Authentication Request
header
<font color=red>Warning:</font>
Do not use in production.
endheader
center footer Generated for demonstration
@enduml
|
The legend and end legend are keywords is used to put a legend. You can optionally specify to have left , right , top , bottom or center alignment for the legend. 🎉 Copied! 
 | @startuml
Alice -> Bob : Hello
legend right
Short
legend
endlegend
@enduml
|
🎉 Copied! 
 | @startuml
Alice -> Bob : Hello
legend top left
Short
legend
endlegend
@enduml
|
Activity 🎉 Copied! 
 | @startuml
header some header
footer some footer
title My title
caption This is caption
legend
The legend
end legend
start
:Hello world;
:This is defined on
several **lines**;
stop
@enduml
|
Archimate 🎉 Copied! 
 | @startuml
header some header
footer some footer
title My title
caption This is caption
legend
The legend
end legend
archimate #Technology "VPN Server" as vpnServerA <<technology-device>>
rectangle GO #lightgreen
rectangle STOP #red
rectangle WAIT #orange
@enduml
|
Class 🎉 Copied! 
 | @startuml
header some header
footer some footer
title My title
caption This is caption
legend
The legend
end legend
a -- b
@enduml
|
Component, Deployment, Use-Case 🎉 Copied! 
 | @startuml
header some header
footer some footer
title My title
caption This is caption
legend
The legend
end legend
node n
(u) -> [c]
@enduml
|
Gantt project planning 🎉 Copied! 
 | @startgantt
header some header
footer some footer
title My title
caption This is caption
legend
The legend
end legend
[t] lasts 5 days
@endgantt
|
DONE [(Header, footer) corrected on V1.2020.18]Object 🎉 Copied! 
 | @startuml
header some header
footer some footer
title My title
caption This is caption
legend
The legend
end legend
object user {
name = "Dummy"
id = 123
}
@enduml
|
MindMap 🎉 Copied! 
 | @startmindmap
header some header
footer some footer
title My title
caption This is caption
legend
The legend
end legend
* r
** d1
** d2
@endmindmap
|
Network (nwdiag) 🎉 Copied! 
 | @startuml
header some header
footer some footer
title My title
caption This is caption
legend
The legend
end legend
nwdiag {
network inet {
web01 [shape = cloud]
}
}
@enduml
|
Sequence 🎉 Copied! 
 | @startuml
header some header
footer some footer
title My title
caption This is caption
legend
The legend
end legend
a->b
@enduml
|
State 🎉 Copied! 
 | @startuml
header some header
footer some footer
title My title
caption This is caption
legend
The legend
end legend
[*] --> State1
State1 -> State2
@enduml
|
Timing 🎉 Copied! 
 | @startuml
header some header
footer some footer
title My title
caption This is caption
legend
The legend
end legend
robust "Web Browser" as WB
concise "Web User" as WU
@0
WU is Idle
WB is Idle
@100
WU is Waiting
WB is Processing
@300
WB is Waiting
@enduml
|
Work Breakdown Structure (WBS) 🎉 Copied! 
 | @startwbs
header some header
footer some footer
title My title
caption This is caption
legend
The legend
end legend
* r
** d1
** d2
@endwbs
|
DONE [Corrected on V1.2020.17]Wireframe (SALT) 🎉 Copied! 
 | @startsalt
header some header
footer some footer
title My title
caption This is caption
legend
The legend
end legend
{+
Login | "MyName "
Password | "**** "
[Cancel] | [ OK ]
}
@endsalt
|
DONE [Corrected on V1.2020.18]DONE FYI: - all is only good for
Sequence diagram title , caption and legend are good for all diagrams except for salt diagram
FIXME 🚩 - Now (test on 1.2020.18-19)
header , footer are not good for all other diagrams except only for Sequence diagram . To be fix; Thanks FIXME Here are tests of title , header , footer , caption or legend on all the diagram with the debug style:
<style>
title {
HorizontalAlignment right
FontSize 24
FontColor blue
}
header {
HorizontalAlignment center
FontSize 26
FontColor purple
}
footer {
HorizontalAlignment left
FontSize 28
FontColor red
}
legend {
FontSize 30
BackGroundColor yellow
Margin 30
Padding 50
}
caption {
FontSize 32
}
</style>
Activity 🎉 Copied! 
 | @startuml
<style>
title {
HorizontalAlignment right
FontSize 24
FontColor blue
}
header {
HorizontalAlignment center
FontSize 26
FontColor purple
}
footer {
HorizontalAlignment left
FontSize 28
FontColor red
}
legend {
FontSize 30
BackGroundColor yellow
Margin 30
Padding 50
}
caption {
FontSize 32
}
</style>
header some header
footer some footer
title My title
caption This is caption
legend
The legend
end legend
start
:Hello world;
:This is defined on
several **lines**;
stop
@enduml
|
Archimate 🎉 Copied! 
 | @startuml
<style>
title {
HorizontalAlignment right
FontSize 24
FontColor blue
}
header {
HorizontalAlignment center
FontSize 26
FontColor purple
}
footer {
HorizontalAlignment left
FontSize 28
FontColor red
}
legend {
FontSize 30
BackGroundColor yellow
Margin 30
Padding 50
}
caption {
FontSize 32
}
</style>
header some header
footer some footer
title My title
caption This is caption
legend
The legend
end legend
archimate #Technology "VPN Server" as vpnServerA <<technology-device>>
rectangle GO #lightgreen
rectangle STOP #red
rectangle WAIT #orange
@enduml
|
Class 🎉 Copied! 
 | @startuml
<style>
title {
HorizontalAlignment right
FontSize 24
FontColor blue
}
header {
HorizontalAlignment center
FontSize 26
FontColor purple
}
footer {
HorizontalAlignment left
FontSize 28
FontColor red
}
legend {
FontSize 30
BackGroundColor yellow
Margin 30
Padding 50
}
caption {
FontSize 32
}
</style>
header some header
footer some footer
title My title
caption This is caption
legend
The legend
end legend
a -- b
@enduml
|
Component, Deployment, Use-Case 🎉 Copied! 
 | @startuml
<style>
title {
HorizontalAlignment right
FontSize 24
FontColor blue
}
header {
HorizontalAlignment center
FontSize 26
FontColor purple
}
footer {
HorizontalAlignment left
FontSize 28
FontColor red
}
legend {
FontSize 30
BackGroundColor yellow
Margin 30
Padding 50
}
caption {
FontSize 32
}
</style>
header some header
footer some footer
title My title
caption This is caption
legend
The legend
end legend
node n
(u) -> [c]
@enduml
|
Gantt project planning 🎉 Copied! 
 | @startgantt
<style>
title {
HorizontalAlignment right
FontSize 24
FontColor blue
}
header {
HorizontalAlignment center
FontSize 26
FontColor purple
}
footer {
HorizontalAlignment left
FontSize 28
FontColor red
}
legend {
FontSize 30
BackGroundColor yellow
Margin 30
Padding 50
}
caption {
FontSize 32
}
</style>
header some header
footer some footer
title My title
caption This is caption
legend
The legend
end legend
[t] lasts 5 days
@endgantt
|
Object 🎉 Copied! 
 | @startuml
<style>
title {
HorizontalAlignment right
FontSize 24
FontColor blue
}
header {
HorizontalAlignment center
FontSize 26
FontColor purple
}
footer {
HorizontalAlignment left
FontSize 28
FontColor red
}
legend {
FontSize 30
BackGroundColor yellow
Margin 30
Padding 50
}
caption {
FontSize 32
}
</style>
header some header
footer some footer
title My title
caption This is caption
legend
The legend
end legend
object user {
name = "Dummy"
id = 123
}
@enduml
|
MindMap 🎉 Copied! 
 | @startmindmap
<style>
title {
HorizontalAlignment right
FontSize 24
FontColor blue
}
header {
HorizontalAlignment center
FontSize 26
FontColor purple
}
footer {
HorizontalAlignment left
FontSize 28
FontColor red
}
legend {
FontSize 30
BackGroundColor yellow
Margin 30
Padding 50
}
caption {
FontSize 32
}
</style>
header some header
footer some footer
title My title
caption This is caption
legend
The legend
end legend
* r
** d1
** d2
@endmindmap
|
Network (nwdiag) 🎉 Copied! 
 | @startuml
<style>
title {
HorizontalAlignment right
FontSize 24
FontColor blue
}
header {
HorizontalAlignment center
FontSize 26
FontColor purple
}
footer {
HorizontalAlignment left
FontSize 28
FontColor red
}
legend {
FontSize 30
BackGroundColor yellow
Margin 30
Padding 50
}
caption {
FontSize 32
}
</style>
header some header
footer some footer
title My title
caption This is caption
legend
The legend
end legend
nwdiag {
network inet {
web01 [shape = cloud]
}
}
@enduml
|
Sequence 🎉 Copied! 
 | @startuml
<style>
title {
HorizontalAlignment right
FontSize 24
FontColor blue
}
header {
HorizontalAlignment center
FontSize 26
FontColor purple
}
footer {
HorizontalAlignment left
FontSize 28
FontColor red
}
legend {
FontSize 30
BackGroundColor yellow
Margin 30
Padding 50
}
caption {
FontSize 32
}
</style>
header some header
footer some footer
title My title
caption This is caption
legend
The legend
end legend
a->b
@enduml
|
State 🎉 Copied! 
 | @startuml
<style>
title {
HorizontalAlignment right
FontSize 24
FontColor blue
}
header {
HorizontalAlignment center
FontSize 26
FontColor purple
}
footer {
HorizontalAlignment left
FontSize 28
FontColor red
}
legend {
FontSize 30
BackGroundColor yellow
Margin 30
Padding 50
}
caption {
FontSize 32
}
</style>
header some header
footer some footer
title My title
caption This is caption
legend
The legend
end legend
[*] --> State1
State1 -> State2
@enduml
|
Timing 🎉 Copied! 
 | @startuml
<style>
title {
HorizontalAlignment right
FontSize 24
FontColor blue
}
header {
HorizontalAlignment center
FontSize 26
FontColor purple
}
footer {
HorizontalAlignment left
FontSize 28
FontColor red
}
legend {
FontSize 30
BackGroundColor yellow
Margin 30
Padding 50
}
caption {
FontSize 32
}
</style>
header some header
footer some footer
title My title
caption This is caption
legend
The legend
end legend
robust "Web Browser" as WB
concise "Web User" as WU
@0
WU is Idle
WB is Idle
@100
WU is Waiting
WB is Processing
@300
WB is Waiting
@enduml
|
Work Breakdown Structure (WBS) 🎉 Copied! 
 | @startwbs
<style>
title {
HorizontalAlignment right
FontSize 24
FontColor blue
}
header {
HorizontalAlignment center
FontSize 26
FontColor purple
}
footer {
HorizontalAlignment left
FontSize 28
FontColor red
}
legend {
FontSize 30
BackGroundColor yellow
Margin 30
Padding 50
}
caption {
FontSize 32
}
</style>
header some header
footer some footer
title My title
caption This is caption
legend
The legend
end legend
* r
** d1
** d2
@endwbs
|
Wireframe (SALT)FIXME Fix all (title , caption , legend , header , footer ) for salt. FIXME 🎉 Copied! 
 | @startsalt
<style>
title {
HorizontalAlignment right
FontSize 24
FontColor blue
}
header {
HorizontalAlignment center
FontSize 26
FontColor purple
}
footer {
HorizontalAlignment left
FontSize 28
FontColor red
}
legend {
FontSize 30
BackGroundColor yellow
Margin 30
Padding 50
}
caption {
FontSize 32
}
</style>
@startsalt
header some header
footer some footer
title My title
caption This is caption
legend
The legend
end legend
{+
Login | "MyName "
Password | "**** "
[Cancel] | [ OK ]
}
@endsalt
|
🎉 Copied! 
 | @startuml
mainframe This is a **mainframe**
Alice->Bob : Hello
@enduml
| [Ref. QA-4019 and Issue#148]Activity 🎉 Copied! 
 | @startuml
mainframe This is a **mainframe**
start
:Hello world;
:This is defined on
several **lines**;
stop
@enduml
|
Archimate 🎉 Copied! 
 | @startuml
mainframe This is a **mainframe**
archimate #Technology "VPN Server" as vpnServerA <<technology-device>>
rectangle GO #lightgreen
rectangle STOP #red
rectangle WAIT #orange
@enduml
|
FIXME 🚩 Cropped on the top and on the left FIXME Class 🎉 Copied! 
 | @startuml
mainframe This is a **mainframe**
a -- b
@enduml
|
FIXME 🚩 Cropped on the top and on the left FIXME Component, Deployment, Use-Case 🎉 Copied! 
 | @startuml
mainframe This is a **mainframe**
node n
(u) -> [c]
@enduml
|
FIXME 🚩 Cropped on the top and on the left FIXME Gantt project planning 🎉 Copied! 
 | @startgantt
mainframe This is a **mainframe**
[t] lasts 5 days
@endgantt
|
FIXME 🚩 Cropped on the top and on the left FIXME Object 🎉 Copied! 
 | @startuml
mainframe This is a **mainframe**
object user {
name = "Dummy"
id = 123
}
@enduml
|
FIXME 🚩 Cropped on the top! FIXME MindMap 🎉 Copied! 
 | @startmindmap
mainframe This is a **mainframe**
* r
** d1
** d2
@endmindmap
|
Network (nwdiag) 🎉 Copied! 
 | @startuml
mainframe This is a **mainframe**
nwdiag {
network inet {
web01 [shape = cloud]
}
}
@enduml
|
FIXME 🚩 Cropped on the top! FIXME Sequence 🎉 Copied! 
 | @startuml
mainframe This is a **mainframe**
a->b
@enduml
|
State 🎉 Copied! 
 | @startuml
mainframe This is a **mainframe**
[*] --> State1
State1 -> State2
@enduml
|
FIXME 🚩 Cropped on the top and on the left FIXME Timing 🎉 Copied! 
 | @startuml
mainframe This is a **mainframe**
robust "Web Browser" as WB
concise "Web User" as WU
@0
WU is Idle
WB is Idle
@100
WU is Waiting
WB is Processing
@300
WB is Waiting
@enduml
|
Work Breakdown Structure (WBS) 🎉 Copied! 
 | @startwbs
mainframe This is a **mainframe**
* r
** d1
** d2
@endwbs
|
Wireframe (SALT) 🎉 Copied! 
 | @startsalt
mainframe This is a **mainframe**
{+
Login | "MyName "
Password | "**** "
[Cancel] | [ OK ]
}
@endsalt
|
Activity 🎉 Copied! 
 | @startuml
mainframe This is a **mainframe**
header some header
footer some footer
title My title
caption This is caption
legend
The legend
end legend
start
:Hello world;
:This is defined on
several **lines**;
stop
@enduml
|
Archimate 🎉 Copied! 
 | @startuml
mainframe This is a **mainframe**
header some header
footer some footer
title My title
caption This is caption
legend
The legend
end legend
archimate #Technology "VPN Server" as vpnServerA <<technology-device>>
rectangle GO #lightgreen
rectangle STOP #red
rectangle WAIT #orange
@enduml
|
Class 🎉 Copied! 
 | @startuml
mainframe This is a **mainframe**
header some header
footer some footer
title My title
caption This is caption
legend
The legend
end legend
a -- b
@enduml
|
Component, Deployment, Use-Case 🎉 Copied! 
 | @startuml
mainframe This is a **mainframe**
header some header
footer some footer
title My title
caption This is caption
legend
The legend
end legend
node n
(u) -> [c]
@enduml
|
Gantt project planning 🎉 Copied! 
 | @startgantt
mainframe This is a **mainframe**
header some header
footer some footer
title My title
caption This is caption
legend
The legend
end legend
[t] lasts 5 days
@endgantt
|
Object 🎉 Copied! 
 | @startuml
mainframe This is a **mainframe**
header some header
footer some footer
title My title
caption This is caption
legend
The legend
end legend
object user {
name = "Dummy"
id = 123
}
@enduml
|
MindMap 🎉 Copied! 
 | @startmindmap
mainframe This is a **mainframe**
header some header
footer some footer
title My title
caption This is caption
legend
The legend
end legend
* r
** d1
** d2
@endmindmap
|
Network (nwdiag) 🎉 Copied! 
 | @startuml
mainframe This is a **mainframe**
header some header
footer some footer
title My title
caption This is caption
legend
The legend
end legend
nwdiag {
network inet {
web01 [shape = cloud]
}
}
@enduml
|
Sequence 🎉 Copied! 
 | @startuml
mainframe This is a **mainframe**
header some header
footer some footer
title My title
caption This is caption
legend
The legend
end legend
a->b
@enduml
|
State 🎉 Copied! 
 | @startuml
mainframe This is a **mainframe**
header some header
footer some footer
title My title
caption This is caption
legend
The legend
end legend
[*] --> State1
State1 -> State2
@enduml
|
Timing 🎉 Copied! 
 | @startuml
mainframe This is a **mainframe**
header some header
footer some footer
title My title
caption This is caption
legend
The legend
end legend
robust "Web Browser" as WB
concise "Web User" as WU
@0
WU is Idle
WB is Idle
@100
WU is Waiting
WB is Processing
@300
WB is Waiting
@enduml
|
Work Breakdown Structure (WBS) 🎉 Copied! 
 | @startwbs
mainframe This is a **mainframe**
header some header
footer some footer
title My title
caption This is caption
legend
The legend
end legend
* r
** d1
** d2
@endwbs
|
Wireframe (SALT) 🎉 Copied! 
 | @startsalt
mainframe This is a **mainframe**
header some header
footer some footer
title My title
caption This is caption
legend
The legend
end legend
{+
Login | "MyName "
Password | "**** "
[Cancel] | [ OK ]
}
@endsalt
|
| |