Undocumented PlantUML features

Page for list of Undocumented PlantUML features in order to document

Undocumented PlantUML features in order to document

The list comes from Issue#261 thanks to @VladimirAlexiev,

And the list of Issue#261 comes mostly from QA#7095, QA#7140 thanks to @Anthony-Gaudino, and was complemented, categorized, and converted to a task list by @VladimirAlexiev.

Then the list is here in order to put, after each item: * [[98FB98#DONE]] * [[#FFD700#TODO]] * [[#AA1111#BUG]] * [[#FF6600#deprecated]] * [[#1111AA#SEE]] * or [[#C8FBC8TBC]] and to follow and share the state of new documentation to produce.

Preprocessor, Includes, Sectioning

link::preprocessing-v2[preprocessing-v2 (old)] & link::preprocessing[preprocessing (new)]

  • QA#6577 Ability to include blocks ("subsections") of code

  • QA#7838 !pragma http.proxyHost

  • QA#6289 %filename% and %filenameNoExtension%

  • QA#6199 %PLANTUML_VERSION% [[#FF6600#deprecated]][[#1111AA#SEE]] New link::preprocessing#0umqmmdy1n9yk362kjka[Builtin functions] %version()

  • QA#5968 %filedate%

  • QA#5769 %filename% and %dirpath% variables [[#FF6600#deprecated]][[#1111AA#SEE]] New link::preprocessing#0umqmmdy1n9yk362kjka[Builtin functions]

  • QA#5171 [[#98FB98#DONE]] Boolean not ! and parenthesis on !ifdef [[#98FB98#DONE]] superseded by %not() [[#1111AA#SEE]] QA#12320

  • QA#3868 Use tilde ~ to escape @startuml

  • QA#5483 @startuml filename for automatic extensions

  • QA#4467 [[#98FB98#DONE]] @startuml with identifier for includes [[#98FB98#DONE]] on link::sources[source file]

  • QA#1466 [[#98FB98#DONE]] @startuml{OPTIONS} [[#98FB98#DONE]] on link::sources[source file]

  • QA#4596 \startXXX instead of @startXXX

  • QA#5769 [[#98FB98#DONE]] @startdef and @enddef [[#98FB98#DONE]] on link::sources[source file]

  • QA#1525, QA#5793 @pause @unpause

  • QA#1525 @pause @unpause @continue @append and /' ... '/ multiline comments [[98FB98#DONE]] for comments [[#C8FBC8TBC]] for pause/unpause/continue

  • QA#4266 -config parameter

  • QA#2410 Multiple include paths

  • QA#7337 [[98FB98#DONE]] $Tags to include individual pieces [[#98FB98#DONE]] for link::component-diagram[component] [[#C8FBC8TBC]] for other diagram

  • QA#7337 [[98FB98#DONE]] remove / restore [[#98FB98#DONE]] for link::component-diagram[component] [[#C8FBC8TBC]] for other diagram

  • wildcards in remove / hide / restore, eg remove * [[98FB98#DONE]] for link::component-diagram[component] [[#C8FBC8TBC]] for other diagram

Running and Output

link::command-line[Command-line] [[#98FB98#DONE]]

  • QA#4752 [[#98FB98#DONE]] Output Braille diagrams (-tbraille) [[#98FB98#DONE]] link::command-line[command-line]

  • QA#5037 [[#98FB98#DONE]] -pipemap parameter (HTML clickable maps): link::command-line#standard_input_output[command-line#standard_input_output]

  • QA#3562 [[#98FB98#DONE]] Diagram code is embedded in PNG metadata (-metadata -checkmeta)

  • QA#1601 [[#98FB98#DONE]] -gui parameter accepts a path [[#98FB98#DONE]]

  • QA#3214 [[#98FB98#DONE]] -eps:text parameter [[#98FB98#DONE]] link::command-line[command-line]

link::ascii-art[ASCII art] [[#98FB98#DONE]] output with -ttxt or -tutxt [[#98FB98#DONE]] link::command-line[command-line]

  • QA#4147 [[#98FB98#DONE]] skinparam maxAsciiMessageLength [[#98FB98#DONE]]

link::latex[LaTeX] output with -tlatex through Tikz [[#98FB98#DONE]] link::command-line[command-line]

link::svg[SVG] output with -tsvg [[#98FB98#DONE]]

  • QA#5453 [[#98FB98#DONE]] skinparam pathHoverColor [[#98FB98#DONE]]

  • QA#7334 [[#98FB98#DONE]] skinparam svgDimensionStyle [[#98FB98#DONE]]

Layout

link::creole[Creole], link::link[Link], link::ascii-math[ASCII Math, JLatexMath]

  • QA#3104 Use \ for multiline stuff

  • QA#3055 Align text with \l and \r

  • QA#3601 Creole on class titles with as

  • Issues#104 skinparam wrapWidth and skinparam wrapMessageWidth

  • QA#3820 skinparam tabSize

  • QA#5254 [[#98FB98#DONE]] <plain>...</plain> to remove default text style (eg skinparam classFontStyle) [[#98FB98#DONE]] link::creole#xbti2cgar0ssk362kjd9[on creole page]

  • QA#5574 [[#98FB98#DONE]] tooltip over link [[#98FB98#DONE]] Page link::link[link]

Images, Icons, Sprites, Shapes, Embellishments

  • QA#4080 Import images from jar/zip (Link to QA#12578)

  • QA#3790 DATA URI as embeded image

  • QA#7485 skinparam DiagonalCorner

  • QA#2899 skinparam activityShape

  • QA#4076, QA#4079 Sprites on stereotypes

  • QA#8084 listsprites of stdlib: link::sprite#hdvb3xdf1doekdtyqgs2[alphadoc sprite#stdlib] and link::sprite#jq1w8ezst4vzkdtyqu8b[sprite#listing-sprites]

Color [[#98FB98#DONE]]

  • QA#3770 [[#98FB98#DONE]] Inline set of multiple colors in various diagrams (text;line;back;header) [[#98FB98#DONE]]

  • QA#1487 [[#98FB98#DONE]] ##[style]color of node borders: works for class and state diagrams [[#98FB98#DONE]] link::class-diagram[on class] and link::state-diagram[state]

  • QA#5340 [[#98FB98#DONE]] Inline coloring of node borders [[#98FB98#DONE]] link::use-case-diagram[on use-case]

  • QA#7287 [[#98FB98#DONE]] Automatic color [[#98FB98#DONE]] link::color[on color page]

  • QA#3648 [[#98FB98#DONE]] Transparent color [[#98FB98#DONE]] link::color[on color page]

Arrows

  • QA#3636 [[#98FB98#DONE]] Arrows from/to class members [[#98FB98#DONE]]

  • QA#3621 Component diagram consumer/provider arrows

  • make sure all arrow params are documented: dotted|dashed|plain|bold|hidden|norank|single|thickness|left|right|up|down, color

  • QA#3816 skinparam ArrowColor, stereotyped arrows, new syntax for inline arrow style (Setting multiple arrow skinparams in one line); [[#FF6600#deprecated]] (componentArrowColor is deprecated)

  • QA#4949 [[#98FB98#DONE]] Inline setting for edge style and thickness [[#98FB98#DONE]] on Class and Deployment

  • QA#4260 [[#98FB98#DONE]] bold and plain arrow styles [[#98FB98#DONE]]

  • QA#4181 [[#98FB98#DONE]] bold, dashed, dotted [[#98FB98#DONE]]

  • Make sure all arrow types are documented on one page: See arrows and arrows-2 at github.com/anoff/blog/tree/master/static/assets/plantuml/diagrams

  • QA#1736 [[#98FB98#DONE]] Multiple lollipop edge styles [[#98FB98#DONE]]

  • QA#5261 Crows foot edge

  • QA#2259 [[#98FB98#DONE]] Class diagram --( and -0)- arrows [[#98FB98#DONE]]

  • QA#310 [[#98FB98#DONE]] Sequence diagram ?-> and ->? arrows [[#98FB98#DONE]]

Mixed and Embedded Diagrams

  • QA#2335 [[#98FB98#DONE]] allow_mixing vs mix_usecase mix_actor…​ [[#98FB98#DONE]] on link::deployment-diagram#6d6863e19pu3l3t7uqw6[Deployment]

  • QA#375 Embed SVG in SVG diagram

  • QA#2427 [[#98FB98#DONE]] Embed SALT UI diagrams in notes and other texts ("Flowchat") [[#98FB98#DONE]] See link::salt[Salt]

Alternative Layoters

  • QA#4436, QA#5336, link::smetana02[smetana02] [[#98FB98#DONE]] !pragma graphviz_dot jdot: replace graphviz with Java code [[#98FB98#DONE]] ➥ !pragma layout smetana See link::smetana02[smetana02]

  • link::vizjs[vizjs] -graphvizdot vizjs: replace graphviz with JavaScript code

  • noditaa: replace ditaa with java code

link::class-diagram[Class Diagrams]

  • QA#5835 [[#98FB98#DONE]] Notes on class fields [[#98FB98#DONE]]

  • QA#3054 details on how the "attributes" vs "methods" boxes are formed, and what happens when you add your own divider line

  • QA#2913 Hide private / protected / package class members

  • QA#3448 [[#98FB98#DONE]] Tree structure inside class [[#98FB98#DONE]] See link::creole#2u7lnfjrnmfdk362kjda[creole tree]

  • QA#3424 Class attribute stereotype

  • QA#2259 Class diagram circle

  • QA#2239 extends and implements can reference multiple nodes

  • QA#3193 skinparam groupInheritance to merge inheritance arrows going to the same parent [[#98FB98#DONE]] (+ Adding link to Defect QA#13532)

  • QA#1638 [[98FB98#DONE]] package style card [[#98FB98#DONE]] [[#C8FBC8TBC]]

link::component-diagram[Component Diagrams] [[#98FB98#DONE]]

  • QA#11052 [[98FB98#DONE]] remove @unlinked components; [[#98FB98#DONE]] [[#C8FBC8TBC]] for other diagram

  • QA#11052 [[98FB98#DONE]] component tags and hide/remove/restore $tag [[#98FB98#DONE]] for link::component-diagram[component] [[#C8FBC8TBC]] for other diagram

link::sequence-diagram[Sequence Diagrams] [[#98FB98#DONE]]

link::teoz[teoz], link::sequence-diagram#anchors_and_duration[sequence-diagram#anchors_and_duration], tag/teoz: new Teoz (vs old Puma) for sequence diagrams

  • QA#4247 [[#98FB98#DONE]] hide unlinked participants [[#98FB98#DONE]]

  • QA#7119 [[#98FB98#DONE]] %autonumber%

  • QA#8511 [[#98FB98#DONE]] autonumber inc [[#98FB98#DONE]]

  • QA#2794 [[#98FB98#DONE]] skinparam lifelineStrategy [[#98FB98#DONE]]

  • QA#2503 [[#98FB98#DONE]] Secondary group label in sequence diagram [[#98FB98#DONE]]

  • QA#7264 [[#98FB98#DONE]] skinparam belowForResponse [[#98FB98#DONE]]

  • QA#1047 [[#98FB98#DONE]] skinparam style strictuml: emits triangle rather than sharp arrow heads [[#98FB98#DONE]]

  • QA#3482, QA#206 [[#98FB98#DONE]] skinparam sequenceMessageAlign [[#98FB98#DONE]]

link::activity-diagram-beta[Activity Diagrams]

  • QA#5201 skinparam swimlaneWidth [[#AA1111#BUG]] See QA#12463

  • QA#2681 [[#98FB98#DONE]] Swimlane alias [[#98FB98#DONE]]

  • QA#4470 [[#98FB98#DONE]] Label of arrows of repeat loops (repeat while) [[#98FB98#DONE]]

  • QA#6105 [[#98FB98#DONE]] Activity diagram break [[#98FB98#DONE]]

  • QA#301 [[#98FB98#DONE]] Activity Beta if (...) is/equals (...) then [[#98FB98#DONE]]

  • QA#265 [[#98FB98#DONE]] Activity Beta kill [[#98FB98#DONE]]

  • QA#3931 [[#98FB98#DONE]] !pragma useVerticalIf on: draw if/elseif/else structure vertically [[#98FB98#DONE]]

  • QA#1626 [[#98FB98#DONE]] Activity diagram GOTO [[#98FB98#DONE]] See link::activity-diagram-beta[activity-diagram] and link::activity-diagram-issues[activity-diagram-issues]

  • QA#2792 skinparam activityArrowFontSize

  • QA#3166 skinparam activityArrowFontColor

  • QA#5346 [[#98FB98#DONE]] Activity diagram joinspec [[#98FB98#DONE]]

  • QA#2868 Activity diagram multiple halting states

  • QA#3505 [[#98FB98#DONE]] Activity diagram end [[#98FB98#DONE]]

  • QA#5826 Backward on loops

  • QA#4906 [[#98FB98#DONE]] Gradient color on activity diagram partition [[#98FB98#DONE]]

  • QA#2398 [[#98FB98#DONE]] Note on partition [[#98FB98#DONE]]

  • QA#2793 [[#98FB98#DONE]] Inline coloring of partition [[#98FB98#DONE]]

  • QA#1290 [[#98FB98#DONE]] skinparam conditionStyle: inside (hexagon: default), foo1 (big diamond), diamond (tiny diamond) [[#98FB98#DONE]]

  • QA#6010 skinparam arrowMessageAlign center

  • QA#4411 skinparam colorArrowSeparationSpace: multiple parallel arrows in activity digrams

  • [[#98FB98#DONE]] QA#3770 Background color of alt/group → to link::sequence-diagram[Sequence Diagrams]

link::state-diagram[State Diagrams] [[#98FB98#DONE]]

link::ie-diagram[SDL and ER/IE Diagrams] [[#98FB98#DONE]]

  • QA#1232 [[#98FB98#DONE]] SDL shapes (some undocumented) [[#98FB98#DONE]]

  • IE-diagram, Pull#31 [[#98FB98#DONE]] ER (IE) diagrams [[#98FB98#DONE]] link::ie-diagram[IE-diagram page]

link::salt[SALT (UI) Diagrams] [[#98FB98#DONE]]

  • QA#5849 [[#98FB98#DONE]] Salt pseudo "sprite" [[#98FB98#DONE]]

  • QA#5840 [[#98FB98#DONE]] Salt titled groupbox [[#98FB98#DONE]]

  • QA#1265, QA#5400 [[#98FB98#DONE]] Salt tree table (table-tree) [[#98FB98#DONE]]

link::timing-diagram[Timing Diagrams] [[#98FB98#DONE]]

  • QA#5776 [[#98FB98#DONE]] Timing diagram coloring [[#98FB98#DONE]]

link::gantt-diagram[Gantt Charts] [[#98FB98#DONE]]

  • QA#5782 [[#98FB98#DONE]] Arrow on Gantt Diagram [[#98FB98#DONE]]

  • QA#5510 [[#98FB98#DONE]] Gantt diagram dates [[#98FB98#DONE]]

link::bpmn[BPMN Diagrams] [[#98FB98#DONE]]

  • QA#5647 [[#98FB98#DONE]] BPMN (@startbpm and @endbpm) [[#98FB98#DONE]] Page link::bpmn[BPMN] updated

link::mindmap-diagram[MindMap Diagrams]

link::wbs-diagram[WBS Diagrams]

Work Breakdown Structures, Organizational Breakdown Structures (organigrams)

link::dot[Graphviz Diagrams (DOT)]

  • QA#4210 When using Dot, PlantUML supports strict graph and digraph

  • QA#1206 Dot graph

Not yet categorized