PlantUML has a fun command to create a Sudoku puzzle. We must use
sudoku in our PlantUML definition and a random puzzle is generated. We can even give a seed value for a given Sudoku so it is generated again.
In the following example PlantUML definition we use the
We create a PNG file with PlantUML and we get the following result:
To regenerate the same Sudoku we must use the seed value
Written with PlantUML 8048.
Original blog post
With PlantUML we can include external files in our definition with the
!include directive. We specify the file name and the content is included in our PlantUML definition. The included file can also have multiple
@startuml ... @enduml sections and we can refer to individual sections with the
!include directive. We must append to the include file name an exclamation mark (
!) followed by either a number or identifier. If we use a number we specify which section we want to include, where section are numbered starting from
0. So to get the second section from a file
commons.puml we would write
!include commons.puml!1. Alternatively we can use identifiers in the include file. We append to
@startuml an identifier as
(id=idValue). Then from the definition that is including the file we refer to the identifier after an exclamation mark (
!). If our included file
commons.puml has a section with id
user then we would include it as
To change the styling of our generated diagrams with PlantUML we can use the
skinparam command. We can set for example font size, style, color, background colors and much more. We can change the style for a specific element or for the whole diagram. We can even set specific styling options for stereotypes. The settings for the stereotype are then applied to all elements in our diagram with that stereotype. We must append
<<stereotype name>> to the skin parameter name.
When we write a PlantUML definition the generated graphical diagram is laid out by PlantUML. In a previous post we learned how to move elements using the length of the connection. But we can also use a
together block with all elements that should be at the same level. PlantUML will try to keep the elements together when the diagram is drawn.
By default elements in a PlantUML generated diagram have shadows. To disable shadows we must set the skin parameter
shadowing to the value
false. PlantUML will then not create shadows on elements.
The default colors of PlantUML use red and yellow to draw the diagram elements. If we want our diagram to be in black, grey and white we can simply set skin parameter
true. The generated graphical diagram will now have black, grey and white colors.
Drawing diagrams with PlantUML is fun and easy. We use text to describe the diagram and the we get a graphical representation. Especially in combination with Asciidoctor with PlantUML integration we have a winning combination to write technical documentation. Because our text is transformed into a graphical format like PNG we don’t have much influence on the layout. There are options to indicate positions of elements, but we can also use the length of lines to influence the position of elements.