You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
335 lines
13 KiB
Markdown
335 lines
13 KiB
Markdown
# Themes
|
|
|
|

|
|
|
|
- [📄 C4-PlantUML](README.md#c4-plantuml)
|
|
- [📄 Layout Options](LayoutOptions.md#layout-options)
|
|
- [📄 Themes](#themes)
|
|
- [Use theme](#use-theme)
|
|
- [List of available C4-themes](#list-of-available-c4-themes)
|
|
- [C4_blue](#c4_blue)
|
|
- [C4_brown](#c4_brown)
|
|
- [C4_green](#c4_green)
|
|
- [C4_sandstone](#c4_sandstone)
|
|
- [C4_superhero](#c4_superhero)
|
|
- [C4_united](#c4_united)
|
|
- [C4_violet](#c4_violet)
|
|
- [Write custom themes](#write-custom-themes)
|
|
- [Following variables could be set in a theme, additional to the skinparams and styles](#following-variables-could-be-set-in-a-theme-additional-to-the-skinparams-and-styles)
|
|
- samples
|
|
- [📄 C4 Model Diagrams](samples/C4CoreDiagrams.md#c4-model-diagrams)
|
|
|
|
## Use theme
|
|
|
|
Similar to PlantUML themes supports C4-PlantUML `C4_...` specific themes too (sometimes based on existing PlantUML themes).
|
|
|
|
Additional to the standard themes with skinparam and style definitions requires C4-PlantUML corresponding variable definitions.
|
|
Therefore we started with the convention that all C4-PlantUML compatible themes start with `C4_...` in the name
|
|
(e.g. theme [`C4_united`](https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/themes/puml-theme-C4_united.puml)
|
|
bases on the [`united`](https://raw.githubusercontent.com/plantuml/plantuml/master/themes/puml-theme-united.puml) theme
|
|
and contains all additional required C4-PlantUML settings that it can be directly used in all C4-PlantUML diagrams).
|
|
|
|
E.g. in order to invoke theme `C4_united` from a remote repository, you have to use the following directive:
|
|
|
|
```plantuml
|
|
!theme C4_united from https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/themes
|
|
```
|
|
|
|
In order to invoke a local theme `C4_foo`, you have to use the following directive:
|
|
|
|
```plantuml
|
|
!theme C4_foo from /path/to/themes/folder
|
|
```
|
|
|
|
(It is planed that included themes can be loaded via `!theme C4_united from <C4/themes>` too, but this requires a PlantUML extension with is missing atm)
|
|
|
|
```plantuml
|
|
@startuml
|
|
|
|
!theme C4_united from https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/themes
|
|
|
|
!include https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/C4_Container.puml
|
|
|
|
Person(admin, "Administrator")
|
|
System_Boundary(c1, "Sample System") {
|
|
Container(web_app, "Web Application", "C#, ASP.NET Core 2.1 MVC", "Allows users to compare multiple Twitter timelines")
|
|
}
|
|
System(twitter, "Twitter")
|
|
|
|
Rel(admin, web_app, "Uses", "HTTPS")
|
|
Rel(web_app, twitter, "Gets tweets from", "HTTPS")
|
|
|
|
SHOW_FLOATING_LEGEND()
|
|
@enduml
|
|
```
|
|
|
|

|
|
|
|
## List of available C4-themes
|
|
|
|
### C4_blue
|
|
|
|
C4_blue theme is the original theme and need no activation.
|
|
|
|
Theme [C4_blue](https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/themes/puml-theme-C4_blue.puml) can be activated with
|
|
|
|
```plantuml
|
|
!theme C4_blue from https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/themes
|
|
```
|
|
|
|

|
|
|
|
### C4_brown
|
|
|
|
Theme [C4_brown](https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/themes/puml-theme-C4_brown.puml) can be activated with
|
|
|
|
```plantuml
|
|
!theme C4_brown from https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/themes
|
|
```
|
|
|
|

|
|
|
|
|
|
### C4_green
|
|
|
|
Theme [C4_green](https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/themes/puml-theme-C4_green.puml) can be activated with
|
|
|
|
```plantuml
|
|
!theme C4_green from https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/themes
|
|
```
|
|
|
|

|
|
|
|
### C4_sandstone
|
|
|
|
Theme [C4_sandstone](https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/themes/puml-theme-C4_sandstone.puml) can be activated with
|
|
|
|
```plantuml
|
|
!theme C4_sandstone from https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/themes
|
|
```
|
|
|
|

|
|
|
|
### C4_superhero
|
|
|
|
Theme [C4_superhero](https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/themes/puml-theme-C4_superhero.puml) can be activated with
|
|
|
|
```plantuml
|
|
!theme C4_superhero from https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/themes
|
|
```
|
|
|
|

|
|
|
|
### C4_united
|
|
|
|
Theme [C4_united](https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/themes/puml-theme-C4_united.puml) can be activated with
|
|
|
|
```plantuml
|
|
!theme C4_united from https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/themes
|
|
```
|
|
|
|

|
|
|
|
### C4_violet
|
|
|
|
Theme [C4_violet](https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/themes/puml-theme-C4_violet.puml) can be activated with
|
|
|
|
```plantuml
|
|
!theme C4_violet from https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/themes
|
|
```
|
|
|
|

|
|
|
|
## Write custom themes
|
|
|
|
You can create your own theme on your local file system. You can duplicate any existing theme to create your own one.
|
|
|
|
By default, a theme file is named `puml-theme-C4_foo.puml` where `C4_foo` is the name of the theme.
|
|
|
|
In contrast to the normal themes (with skinparams and/or styles) the corresponding color,... variables have to overwritten too (e.g. that the legend is updated... details see below).
|
|
|
|
If you have any interesting theme, you can also propose a pull request so that we integrate this theme into the C4-PlantUML standard library.
|
|
|
|
### Following variables could be set in a theme, additional to the skinparams and styles
|
|
|
|
- stereotype and technology font size
|
|
|
|
```plantuml
|
|
!$STEREOTYPE_FONT_SIZE ?= 12
|
|
!$TECHN_FONT_SIZE ?= 12
|
|
```
|
|
|
|
- default text color of all elements
|
|
|
|
```plantuml
|
|
!$ELEMENT_FONT_COLOR ?= "#FFFFFF"
|
|
```
|
|
|
|
- arrow related colors and text size
|
|
|
|
```plantuml
|
|
!$ARROW_COLOR ?= "#666666"
|
|
!$ARROW_FONT_COLOR ?= $ARROW_COLOR
|
|
!$ARROW_FONT_SIZE ?= 12
|
|
```
|
|
|
|
- (default) boundary related colors and style
|
|
|
|
```plantuml
|
|
!$BOUNDARY_COLOR ?= "#444444"
|
|
!$BOUNDARY_BG_COLOR ?= "transparent"
|
|
!$BOUNDARY_BORDER_STYLE ?= "dashed"
|
|
```
|
|
|
|
- person related colors
|
|
|
|
```plantuml
|
|
!$PERSON_FONT_COLOR ?= $ELEMENT_FONT_COLOR
|
|
!$PERSON_BG_COLOR ?= "#08427B"
|
|
!$PERSON_BORDER_COLOR ?= "#073B6F"
|
|
```
|
|
|
|
- external person related colors
|
|
|
|
```plantuml
|
|
!$EXTERNAL_PERSON_FONT_COLOR ?= $ELEMENT_FONT_COLOR
|
|
!$EXTERNAL_PERSON_BG_COLOR ?= "#686868"
|
|
!$EXTERNAL_PERSON_BORDER_COLOR ?= "#8A8A8A"
|
|
```
|
|
|
|
- system related colors
|
|
|
|
```plantuml
|
|
!$SYSTEM_FONT_COLOR ?= $ELEMENT_FONT_COLOR
|
|
!$SYSTEM_BG_COLOR ?= "#1168BD"
|
|
!$SYSTEM_BORDER_COLOR ?= "#3C7FC0"
|
|
```
|
|
|
|
- external system related colors
|
|
|
|
```plantuml
|
|
!$EXTERNAL_SYSTEM_FONT_COLOR ?= $ELEMENT_FONT_COLOR
|
|
!$EXTERNAL_SYSTEM_BG_COLOR ?= "#999999"
|
|
!$EXTERNAL_SYSTEM_BORDER_COLOR ?= "#8A8A8A"
|
|
```
|
|
|
|
- system boundary related colors and style
|
|
|
|
```plantuml
|
|
!$SYSTEM_BOUNDARY_COLOR ?= $BOUNDARY_COLOR
|
|
!$SYSTEM_BOUNDARY_BG_COLOR ?= $BOUNDARY_BG_COLOR
|
|
!$SYSTEM_BOUNDARY_BORDER_STYLE ?= $BOUNDARY_BORDER_STYLE
|
|
```
|
|
|
|
- enterprise boundary related colors and style
|
|
|
|
```plantuml
|
|
!$ENTERPRISE_BOUNDARY_COLOR ?= $BOUNDARY_COLOR
|
|
!$ENTERPRISE_BOUNDARY_BG_COLOR ?= $BOUNDARY_BG_COLOR
|
|
!$ENTERPRISE_BOUNDARY_BORDER_STYLE ?= $BOUNDARY_BORDER_STYLE
|
|
```
|
|
|
|
- container related colors
|
|
|
|
```plantuml
|
|
!$CONTAINER_FONT_COLOR ?= $ELEMENT_FONT_COLOR
|
|
!$CONTAINER_BG_COLOR ?= "#438DD5"
|
|
!$CONTAINER_BORDER_COLOR ?= "#3C7FC0"
|
|
```
|
|
|
|
- external container related colors
|
|
|
|
```plantuml
|
|
!$EXTERNAL_CONTAINER_FONT_COLOR ?= $ELEMENT_FONT_COLOR
|
|
!$EXTERNAL_CONTAINER_BG_COLOR ?= "#B3B3B3"
|
|
!$EXTERNAL_CONTAINER_BORDER_COLOR ?= "#A6A6A6"
|
|
```
|
|
|
|
- container boundary related colors and style
|
|
|
|
```plantuml
|
|
!$CONTAINER_BOUNDARY_COLOR ?= $BOUNDARY_COLOR
|
|
!$CONTAINER_BOUNDARY_BG_COLOR ?= $BOUNDARY_BG_COLOR
|
|
!$CONTAINER_BOUNDARY_BORDER_STYLE ?= $BOUNDARY_BORDER_STYLE
|
|
```
|
|
|
|
- component related colors
|
|
|
|
```plantuml
|
|
!$COMPONENT_FONT_COLOR ?= "#000000"
|
|
!$COMPONENT_BG_COLOR ?= "#85BBF0"
|
|
!$COMPONENT_BORDER_COLOR ?= "#78A8D8"
|
|
```
|
|
|
|
- external component related colors
|
|
|
|
```plantuml
|
|
!$EXTERNAL_COMPONENT_FONT_COLOR ?= $COMPONENT_FONT_COLOR
|
|
!$EXTERNAL_COMPONENT_BG_COLOR ?= "#CCCCCC"
|
|
!$EXTERNAL_COMPONENT_BORDER_COLOR ?= "#BFBFBF"
|
|
```
|
|
|
|
- node related colors
|
|
|
|
```plantuml
|
|
!$NODE_FONT_COLOR ?= "#000000"
|
|
!$NODE_BG_COLOR ?= "#FFFFFF"
|
|
!$NODE_BORDER_COLOR ?= "#A2A2A2"
|
|
```
|
|
|
|
- legend colors and sizes
|
|
|
|
```plantuml
|
|
!$LEGEND_TITLE_COLOR ?= "#000000"
|
|
!$LEGEND_FONT_COLOR ?= "#FFFFFF"
|
|
!$LEGEND_BG_COLOR ?= "transparent"
|
|
!$LEGEND_BORDER_COLOR ?= "transparent"
|
|
!$LEGEND_DARK_COLOR ?= "#66622E"
|
|
!$LEGEND_LIGHT_COLOR ?= "#khaki"
|
|
|
|
!$LEGEND_DETAILS_SMALL_SIZE ?= 10
|
|
!$LEGEND_DETAILS_NORMAL_SIZE ?= 14
|
|
```
|
|
|
|
- legend related texts
|
|
|
|
```plantuml
|
|
!$LEGEND_SHADOW_TEXT ?= "shadow"
|
|
!$LEGEND_NO_SHADOW_TEXT ?= "no shadow"
|
|
!$LEGEND_NO_FONT_BG_TEXT ?= "last text and back color"
|
|
!$LEGEND_NO_FONT_TEXT ?= "last text color"
|
|
!$LEGEND_NO_BG_TEXT ?= "last back color"
|
|
!$LEGEND_NO_LINE_TEXT ?= "last line color"
|
|
!$LEGEND_ROUNDED_BOX ?= "rounded box"
|
|
!$LEGEND_EIGHT_SIDED ?= "eight sided"
|
|
!$LEGEND_DOTTED_LINE ?= "dotted"
|
|
!$LEGEND_DASHED_LINE ?= "dashed"
|
|
!$LEGEND_BOLD_LINE ?= "bold"
|
|
!$LEGEND_BOUNDARY ?= "boundary"
|
|
!$LEGEND_DASHED_BOUNDARY ?= "dashed"
|
|
' transparent is ignored, produces smaller legends
|
|
' !$LEGEND_DASHED_TRANSPARENT_BOUNDARY ?= "dashed, transparent"
|
|
!$LEGEND_DASHED_TRANSPARENT_BOUNDARY ?= "dashed"
|
|
```
|
|
|
|
- sketch related colors, font and texts
|
|
|
|
```plantuml
|
|
!$SKETCH_BG_COLOR ?= "#EEEBDC"
|
|
!$SKETCH_FONT_COLOR ?= ""
|
|
!$SKETCH_WARNING_COLOR ?= "red"
|
|
|
|
!$SKETCH_FONT_NAME ?= "Comic Sans MS"
|
|
|
|
!$SKETCH_FOOTER_WARNING ?= "Warning:"
|
|
!$SKETCH_FOOTER_TEXT ?= "Created for discussion, needs to be validated"
|
|
```
|
|
|
|
- size of rectangle shape corner markers
|
|
|
|
```plantuml
|
|
!$ROUNDED_BOX_SIZE ?= 25
|
|
!$EIGHT_SIDED_SIZE ?= 18
|
|
```
|
|
|