Skip to content

Commit 8f4fa65

Browse files
authored
Merge pull request #141 from kirchsth/feature/126_incl_Link_Portrait
#49, #139: Persons can be displayed as portraits - SHOW_PERSON_PORTRAIT()
2 parents d54f58e + 0b5b3a2 commit 8f4fa65

File tree

5 files changed

+115
-20
lines changed

5 files changed

+115
-20
lines changed

C4.puml

+11-3
Original file line numberDiff line numberDiff line change
@@ -51,12 +51,18 @@ skinparam queue {
5151
shadowing false
5252
}
5353

54-
skinparam Arrow {
54+
skinparam arrow {
5555
Color $ARROW_COLOR
5656
FontColor $ARROW_COLOR
5757
FontSize 12
5858
}
5959

60+
skinparam actor {
61+
StereotypeFontSize 12
62+
shadowing false
63+
style awesome
64+
}
65+
6066
' Some boundary skinparam have to be set a package skinparams too (PlantUML uses internal packages)
6167
skinparam package {
6268
StereotypeFontSize 6
@@ -154,6 +160,8 @@ skinparam rectangle<<boundary>> {
154160
!$tagSkin = $elementTagSkinparams("rectangle", $tagStereo, $bgColor, $fontColor, $borderColor, $shadowing)
155161
!$tagSkin = $tagSkin + $elementTagSkinparams("database", $tagStereo, $bgColor, $fontColor, $borderColor, $shadowing)
156162
!$tagSkin = $tagSkin + $elementTagSkinparams("queue", $tagStereo, $bgColor, $fontColor, $borderColor, $shadowing)
163+
' actor has style awesome, therefore $fontColor is ignored and text uses $bgColor too
164+
!$tagSkin = $tagSkin + $elementTagSkinparams("actor", $tagStereo, $bgColor, $bgColor, $borderColor, $shadowing)
157165
!if ($tagStereo == "boundary" && $bgColor!="")
158166
!$tagSkin = $tagSkin + "skinparam package<<boundary>>StereotypeFontColor " + $bgColor + %newline()
159167
!$tagSkin = $tagSkin + "skinparam rectangle<<boundary>>StereotypeFontColor " + $bgColor + %newline()
@@ -170,7 +178,7 @@ $tagSkin
170178
!endfunction
171179

172180
!unquoted procedure $defineRelSkinparams($tagStereo, $textColor, $lineColor)
173-
!$elementSkin = "skinparam Arrow<<" + $tagStereo + ">> {" + %newline()
181+
!$elementSkin = "skinparam arrow<<" + $tagStereo + ">> {" + %newline()
174182
!$elementSkin = $elementSkin + " Color "
175183
!if ($lineColor!="")
176184
!$elementSkin = $elementSkin + ColorNoHash($lineColor)
@@ -322,7 +330,7 @@ UpdateElementStyle($elementName, $bgColor, $fontColor, $borderColor, $shadowing)
322330

323331
' update the style of default relation, it has to set both properties (combined statement not working)
324332
!unquoted procedure UpdateRelStyle($textColor, $lineColor)
325-
!$elementSkin = "skinparam Arrow {" + %newline()
333+
!$elementSkin = "skinparam arrow {" + %newline()
326334
!$elementSkin = $elementSkin + " Color " + $lineColor + %newline()
327335
!$elementSkin = $elementSkin + " FontColor " + $textColor + %newline()
328336
!$elementSkin = $elementSkin + "}" + %newline()

C4_Context.puml

+16
Original file line numberDiff line numberDiff line change
@@ -153,9 +153,11 @@ endlegend
153153
!endprocedure
154154

155155
!global $defaultPersonSprite = "person"
156+
!global $portraitPerson = "false"
156157

157158
!procedure HIDE_PERSON_SPRITE()
158159
!$defaultPersonSprite = ""
160+
!$portraitPerson = "false"
159161
!endprocedure
160162

161163
!unquoted procedure SHOW_PERSON_SPRITE($sprite="")
@@ -164,6 +166,12 @@ endlegend
164166
!else
165167
!$defaultPersonSprite = $sprite
166168
!endif
169+
!$portraitPerson = "false"
170+
!endprocedure
171+
172+
!unquoted procedure SHOW_PERSON_PORTRAIT()
173+
!$defaultPersonSprite = ""
174+
!$portraitPerson = "true"
167175
!endprocedure
168176

169177
' Elements
@@ -203,11 +211,19 @@ endlegend
203211
!endfunction
204212

205213
!unquoted procedure Person($alias, $label, $descr="", $sprite="", $tags="", $link="")
214+
!if ($portraitPerson == "true") && ($sprite == "")
215+
actor "$getPerson($label, $descr, $sprite)$getProps()" $toStereos("person", $tags) as $alias $getLink($link)
216+
!else
206217
rectangle "$getPerson($label, $descr, $sprite)$getProps()" $toStereos("person", $tags) as $alias $getLink($link)
218+
!endif
207219
!endprocedure
208220

209221
!unquoted procedure Person_Ext($alias, $label, $descr="", $sprite="", $tags="", $link="")
222+
!if ($portraitPerson == "true") && ($sprite == "")
223+
actor "$getPerson($label, $descr, $sprite)$getProps()" $toStereos("external_person", $tags) as $alias $getLink($link)
224+
!else
210225
rectangle "$getPerson($label, $descr, $sprite)$getProps()" $toStereos("external_person", $tags) as $alias $getLink($link)
226+
!endif
211227
!endprocedure
212228

213229
!unquoted procedure System($alias, $label, $descr="", $sprite="", $tags="", $link="")

LayoutOptions.md

+27-2
Original file line numberDiff line numberDiff line change
@@ -166,13 +166,14 @@ Rel(web_app, twitter, "Gets tweets from", "HTTPS")
166166
![HIDE_STEREOTYPE Sample](https://www.plantuml.com/plantuml/png/NL1DIyD05BplhrZheIdKX8edJuqrMC5gQ5B5KzWcJxkmN-o-DHJnl_j2gnNtCl1ctfkPdGSK7gDMV7b_MpHLNQoBf_grB7Wbj5F0pgHfLUo0xn1TkCuoB_hqNU8kRcC0trg3O31jhSv4vwKm7ogwc2skBaeb36vM3vaI205fr2n8BQG1dpgoPEoVPp9Xh0GVh4b4fwMPyb4-e0pe1Le_ch1g7n1qSsEZwOJV9-rioiU7gEC9_sIStgzBqiEs4SxHdHVOyjmv9Lk1qfeHZHRdKvvNPVfOrBJYWL-cCxvwNWnShfJj0nyQ1ewMKpqdIAAZGabUlEub8dYEKeCYhq3Plexf4ZoGTESe8vAjGVsqEiNQ1DeaNDPrMP5g4FsofpDtW1IZXm7UlDL_L-PWElhCRm00 "HIDE_STEREOTYPE Sample")
167167

168168

169-
## HIDE_PERSON_SPRITE() or SHOW_PERSON_SPRITE(?sprite)
169+
## HIDE_PERSON_SPRITE(), SHOW_PERSON_SPRITE(?sprite), SHOW_PERSON_PORTRAIT()
170170

171-
With the macros `HIDE_PERSON_SPRITE()` and `SHOW_PERSON_SPRITE()` it is possible to change the person related default sprite. `SHOW_PERSON_SPRITE()` is the default.
171+
With the macros `HIDE_PERSON_SPRITE()`, `SHOW_PERSON_SPRITE()` and `SHOW_PERSON_PORTRAIT()` it is possible to change the person related default sprite or person layout itself. `SHOW_PERSON_SPRITE()` is the default.
172172

173173
- **HIDE_PERSON_SPRITE()**: deactivates the default sprite
174174
- **SHOW_PERSON_SPRITE()**: activates the default sprite "person"
175175
- **SHOW_PERSON_SPRITE($sprite)**: activates a specific sprite as default sprite
176+
- **SHOW_PERSON_PORTRAIT()**: activates portrait outline instead of a rectangle
176177

177178
"person" and "person2" are predefined sprites which can be used as default sprite too.
178179

@@ -255,3 +256,27 @@ Rel(web_app, twitter, "Gets tweets from", "HTTPS")
255256

256257
![SHOW_PERSON_SPRITE(sprite) Sample](https://www.plantuml.com/plantuml/png/ZL1DQzj04BthLspTGnIm9H9wwYckC4sXIOGbDqUnbYRnmduiCxCOK_hVEzieTkcfkYmpx-EzqHsnHaxE5X-C7ssQG1sO8tskQzJ7wjNm8UqJ0Ox1CtYknk3gQBNFcXNnPCs-RZwjshpQFNoldIO6bDNGY48R3rZ5F_uJlCYa0kbMvl-8QL3J0IPd_5I_-wz214ym9ZHyqZWU3CF82U5sPKHBS_xbcZckRe9pmSzL_WLtabnhQz_Wehj_UXxQpRPxUXowTlkjtvGBeGwvuF2A07uuHo-kYw85fE1BdQikrMATNqECcWCAtfs8mGrVGlAJnbCvtYpLLQTTj71rhNuMIhxppogFi1zqZEBp37krZj6QKRC9VY6hvkDIhRksUjpq8a5GjzMDUlZHP6njRJYIoYL9SL1ZS54BnINBHh9KVpJCW8gD0ojP9Dr-pUrAVWF5PwRbmxPWtw-wrDeHKCwxx_ks4rOcdT6BpLTWaX7oyuB1_Isv0pybPty3 "SHOW_PERSON_SPRITE(sprite)")
257258

259+
**Using SHOW_PERSON_PORTRAIT()**
260+
261+
```csharp
262+
@startuml SHOW_PERSON_PORTRAIT() Sample
263+
!include https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/C4_Container.puml
264+
265+
SHOW_PERSON_PORTRAIT()
266+
267+
Person(admin, "Administrator")
268+
System_Boundary(c1, 'Sample') {
269+
Container(web_app, "Web Application", "C#, ASP.NET Core 2.1 MVC", "Allows users to compare multiple Twitter timelines")
270+
}
271+
System(twitter, "Twitter")
272+
273+
' if a person is combined with a sprite then the rectangle layout is used again
274+
Person(person, "Person with sprite", $sprite="person2")
275+
276+
Rel(admin, web_app, "Uses", "HTTPS")
277+
Rel(web_app, twitter, "Gets tweets from", "HTTPS")
278+
@enduml
279+
```
280+
281+
![SHOW_PERSON_PORTRAIT() Sample](https://www.plantuml.com/plantuml/png/RL1BQzj04BxhLqpTGcHm919wAXIYcj0KcbXOIdCKAsbYB-nZsPd5cDB_tbcKHm_LGRixyptccnjY5JbP0ztTxcbeR_VTxc5eT_j-t_peopLqoWQ3nGVj9fDcX2Dpe2zr7TMfEcW-fZ4HniaxHiVLv6qTZ79PyP9uDdgijvylsrnwlFzPMqMCKKh3LXXAEunL46nH_D--A5gCv5sfPglT1bPDFZLnLEpZQbrqPsAqmpUVtApYkPokDd2np7onXjy5oFTcLPvm75G8elE48pGX63qfrjwjfBJzk86cQwk7srue4U6wkeBxNzlSQupn9u8SbO0zICwW16AJOIrUq9yqCqPWRT685ybiVrwcAtbfYiuBJ9h51UXdK10mvmDDMNCKvWo2EKg7GjICm4Tq-GSH9rRk86P6dNtYp4aaU7MGTA-BMlJ4QdalOekK1FcqtBwk5jXr7cIFvdMzx_jv9AGS_AxlsqvG6VJMVS_p7PdaYVbuZjx-Ixb1DoTh_W80 "SHOW_PERSON_PORTRAIT()")
282+

README.md

+29-15
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ Rel_R(api, db, "Reads/Writes")
9797
@enduml
9898
```
9999

100-
![Sprites/Icons](http://www.plantuml.com/plantuml/png/hP9BZzem4CVl-HHUr0ChBPj3sqkbIek0Tf5uK1v5FQ59F05NZfrw9l3rEmvXD-f3wg4dE_EV-VyyCtaYXi1rQPCxut9RQrGdvee-f6c0o-FHyAdEQiAGUyVe-37tPLfPSB5cGAojoTBHky4gXdRpMLe2CGO97KPI0SPXUAoYVtAdiP1FDPvydOwMYyq_WBYkG8Uthq0Zwg2GZ05LmJ3IZQVn73LweNnQBhR3_MIpd4_-AwY9mGN9bpXu_pgrMrSfk6DjeMtwT_axdE5lMaa_x84mdF7NyautQNmxjJET3RyjTzl3VhfzFimcdoUBSVy-ILQIu5q_9ZwetgWczYM6djnNw2kBYa_0oY5gLGMlwvn9n3VNJZ_s6a3lFdbPO9ygaEBDQXWzsWRZTNj2LKgACeun592trYpnlCLUDH26kiZikw2RKnS5bH7ZuMeQ_UEmulaCJbia1TOgsPqa4YdhZoRlsiNihjSuw-jCgiV0a05XT9gRF7Zo1QlDbrbZxQscsnWUb0yQWnASFFliJOvo5ZwKmCQxBgopAs4cQxJjlA-psX5Ij6z-FKc8UgD8Vt-M3-jhxysJrmYQqdr4HVa9dPPz_mG0 "Sprites/Icons")
100+
![Sprites/Icons](https://www.plantuml.com/plantuml/png/hP9BZzem4CVl-HHUr0ChBPj3sqkbIek0Tf5uK1v5FQ59F05NZfrw9l3rEmvXD-f3wg4dE_EV-VyyCtaYXi1rQPCxut9RQrGdvee-f6c0o-FHyAdEQiAGUyVe-37tPLfPSB5cGAojoTBHky4gXdRpMLe2CGO97KPI0SPXUAoYVtAdiP1FDPvydOwMYyq_WBYkG8Uthq0Zwg2GZ05LmJ3IZQVn73LweNnQBhR3_MIpd4_-AwY9mGN9bpXu_pgrMrSfk6DjeMtwT_axdE5lMaa_x84mdF7NyautQNmxjJET3RyjTzl3VhfzFimcdoUBSVy-ILQIu5q_9ZwetgWczYM6djnNw2kBYa_0oY5gLGMlwvn9n3VNJZ_s6a3lFdbPO9ygaEBDQXWzsWRZTNj2LKgACeun592trYpnlCLUDH26kiZikw2RKnS5bH7ZuMeQ_UEmulaCJbia1TOgsPqa4YdhZoRlsiNihjSuw-jCgiV0a05XT9gRF7Zo1QlDbrbZxQscsnWUb0yQWnASFFliJOvo5ZwKmCQxBgopAs4cQxJjlA-psX5Ij6z-FKc8UgD8Vt-M3-jhxysJrmYQqdr4HVa9dPPz_mG0 "Sprites/Icons")
101101

102102
Similar to icons/sprites is it possible to add links to all elements and relationships:
103103

@@ -120,7 +120,7 @@ Rel(web_app, twitter, "Gets tweets from", "HTTPS", $link="https://plantuml.com/l
120120
> Github does not support `svg` links in README.md.
121121
> If you click on the image a new window is opened and there you can use the links.
122122
123-
![Click on the image that the links are working](http://www.plantuml.com/plantuml/svg/jP9FYzH04CNl-HHjhuTPc4dOnPCmiECWUjZLOB9w39rqQHhxJrDL8GpYTxTxizb5F8W3vf0chrBl_NZ93R52dfmjNXW_s4c369aZlQugL7FvpV0uzHC13i4pU2w7uAfebSyxEs9jJLyTN-tgBDtVtLPE4GCcgJkc3MKyO1cpVr43Kl0RfPtnMo4F-JJ4g3YWt8gN5D4mx6LyUEywIzRuxtkv0YqmVoNeRUXNZ5jr2XD_Z6o2fzBfYz5ew9Q4RWdS1TpH6ERVrUKkBulcb8nSzoPCNYiyROQhnDue5os8PNOkgBmKFmgHhgUYDZFqdOen9No1NXnYj6PGcLqcwNYn5OUcBZ-yRTCAWhWkhyJTvsFErq03xkN1sZ2JoD-B10UH2A9246woR39nEnjcGC76GM86-Yyjfzf-FXQtuIKnyJzcdrzNKNm2k_u_prNT4r3kvttRrisVxglbWtyU9QFiysJmJFWEcD8ZvECh1lUFhZVWTP9-0G00 "Click on the image that the links are working")
123+
![Click on the image that the links are working](https://www.plantuml.com/plantuml/svg/jP9FYzH04CNl-HHjhuTPc4dOnPCmiECWUjZLOB9w39rqQHhxJrDL8GpYTxTxizb5F8W3vf0chrBl_NZ93R52dfmjNXW_s4c369aZlQugL7FvpV0uzHC13i4pU2w7uAfebSyxEs9jJLyTN-tgBDtVtLPE4GCcgJkc3MKyO1cpVr43Kl0RfPtnMo4F-JJ4g3YWt8gN5D4mx6LyUEywIzRuxtkv0YqmVoNeRUXNZ5jr2XD_Z6o2fzBfYz5ew9Q4RWdS1TpH6ERVrUKkBulcb8nSzoPCNYiyROQhnDue5os8PNOkgBmKFmgHhgUYDZFqdOen9No1NXnYj6PGcLqcwNYn5OUcBZ-yRTCAWhWkhyJTvsFErq03xkN1sZ2JoD-B10UH2A9246woR39nEnjcGC76GM86-Yyjfzf-FXQtuIKnyJzcdrzNKNm2k_u_prNT4r3kvttRrisVxglbWtyU9QFiysJmJFWEcD8ZvECh1lUFhZVWTP9-0G00 "Click on the image that the links are working")
124124

125125
Elements and relations can be decorated with tags and explained via a calculated legend, for example:
126126

@@ -227,24 +227,34 @@ You can force the direction of a relationship by using:
227227
* `Rel_L`, `Rel_Left`
228228
* `Rel_R`, `Rel_Right`
229229

230-
Relationship specific sprites are not down scaled, they requires typically smaller icons.
231-
Therefore if sprite argument starts with `&` an OpenIconic name can be used too (details see https://useiconic.com/open)
230+
Relationship specific sprites are typically smaller and therefore following options are possible:
231+
* use smaller icons (like the $triangle in the following sample)
232+
* use an additional scale factor (direct as part of the argument, or via a variable)
233+
* if sprite argument starts with `&` an OpenIconic name can be used too (details see https://useiconic.com/open)
232234

233235
```csharp
234236
@startuml
235-
!include https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/C4_Dynamic.puml
237+
!include https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/C4_Context.puml
236238
237-
Person(user, "User1")
238-
Person(user2, "User2")
239-
System(system, "System")
239+
Person(user, "User")
240+
Person(user1, "User 1")
241+
Person(user2, "User 2")
242+
Person(user3, "User 3")
240243

241-
' if sprite starts with &, sprite defines a OpenIconic, details see https://useiconic.com/open/
242-
Rel_D(user, system, "requests", "async message", "if sprite starts with &, it defines a OpenIconic like &envelope-closed", $sprite = "&envelope-closed")
244+
System(system, "System")
243245

244246
' normal sprites are too big
245-
Rel_R(user, user2, "informs", "courier", "normal sprites are too big", "person2")
247+
Rel_L(user, user2, "informs", "courier", "normal sprites are too big", $sprite="person2")
248+
249+
' scaled sprites are ok
250+
Rel_R(user, user3, "informs", "courier", "scaled sprites are OK", $sprite="person2,scale=0.5")
246251

247-
' special smaller sprites have to be used
252+
' combine sprite and scale to a new sprite
253+
!$combinedSprite="person2,scale=0.5"
254+
Rel_R(user, user3, "informs", "courier", "combined sprites are OK", $sprite=$combinedSprite)
255+
256+
257+
' special smaller sprites can be used
248258
sprite $triangle {
249259
00000000000
250260
00000F00000
@@ -259,11 +269,14 @@ sprite $triangle {
259269
0FFFFFFFFF0
260270
00000000000
261271
}
262-
Rel(user, system, "orders", "http", "only small sprites looks ok, like the small triangle", "triangle")
272+
Rel_R(user1, system, "orders", "http", "small sprites, like the small triangle", $sprite="triangle")
273+
274+
' if sprite starts with &, sprite defines a OpenIconic, details see https://useiconic.com/open/
275+
Rel_D(user, user1, "requests", "async message", "if sprite starts with &, it defines a OpenIconic like &envelope-closed", $sprite = "&envelope-closed")
263276
@enduml
264277
```
265278

266-
![Relation with sprite or OpenIconic](https://www.plantuml.com/plantuml/png/VL9XYnCn4Fs-ls8inta7RLUh21M4Gu-0e7YStESZpKxReTbapMJlAE9_Tv9DMoskyoLvRp9lNYQvuQX3x5jRlI1dRDyWR6Fi-7rT1_qytr3SzgkUCHZl8heuDxwjEwjTgfbnR2ojwazlPtU9UlZwfMurHmn2FTxkdMx9pBkaNjrXOE-kajGK9W-ol9vS_yak2hqG-ljUHDehpelm0vP4zH9e3Tm5YWZPEiEpU8JBwO5jS4qE6JHywz1z5jzafi96JPQ1yNH1wKevdI_bvNHTtQDzl2qkZ-q3_kYH8qzahtdl3BJ8h3UOY54_5F_f1Ipj42xHFQ6LdZDZFMCZIXT5vWDCphF3pPqFhRQbcuW6XEWzh6W3sVTzyNsO9hcrL6JNnlU1CAJjk4hATlb15aD3xj1GEYi55iEnPgkVf4XgCFLggcBy8WRIRcCHVbOWyUeK9wp-nkgZ-XzMo-LIZMFrBeKQm-hD46eCbn1yxlTNckZvF_2XmP3dcRvGMhsp-poUqq2jzpi6lviE3nstM0uSffFgZllhwWPTqxVsDm00 "Relation with sprite or OpenIconic")
279+
![Relation with sprite or OpenIconic](https://www.plantuml.com/plantuml/png/bLJVQnin37w_lq8DeMiXoQN9DiWWKDPnCDRHqjBdujXAOkgpRvPlMHdxt-SVSPEikK7rujCdIzyd8TybEMPTMwlYH6gkMe6mTgwXJsLfsMQqacxTBbf2oursgDs8cxfi5DCXPqXEABaehzuFRmFqyFswh1avj1vwl0ePlzoe2TMBMxHaz5aeDO3UWpzwv_lWnHQ5YqDyal798JxD-DJZnVspPwtFA1u-almGUGVQs9efeCPAXmJC8ZXZO25NKDoXUhpUYifiKYzz1lNy9pUjbMZ3PtSL7-qdUDvhei198YRE58g35FCKAU_sAAUTb4VoRxuTOHl4Y_Fnw4FYvQPUI8tRH61Q92bUC33GkDb6YfF-zgguxwpu1hsvMBVYV_YysZ2c1haCe_NpLMXViZdJiC30AOg4GTzPoVHA8VmkmDjuPpk_ElIhpzN__6escrNTVlKnMDNbLzDaLPUVRVnAxvyysRJyBwjhh40RHniUOZZZOF9O1g3a4u9R8oGyZsH_CJAMza4kyoh4nqwmaMuDfuEC2bnAZGGCRXhKNxdHaWyywfXK18IxNuBNAcCu_WQClrt6BhxizYC-P8i_MYGNks3qh3dKICHM681EET8TbP8QFaNz4vMd779b2CMkNPX3xrNqlBX4BTfQ_GK0 "Relation with sprite or OpenIconic")
267280
268281
In rare cases, you can force the layout of objects which have no relationships by using:
269282

@@ -314,10 +327,11 @@ C4-PlantUML also comes with some layout options to make it easy and reusable to
314327
* [LAYOUT_AS_SKETCH()](LayoutOptions.md#layout_as_sketch)
315328
* [HIDE_STEREOTYPE()](LayoutOptions.md#hide_stereotype)
316329

317-
C4-PlantUML also comes with some default person sprite options:
330+
C4-PlantUML also comes with some person sprite/portrait options:
318331

319332
* [HIDE_PERSON_SPRITE()](LayoutOptions.md#hide_person_sprite)
320333
* [SHOW_PERSON_SPRITE(?sprite)](LayoutOptions.md#show_person_sprite)
334+
* [SHOW_PERSON_PORTRAIT()](LayoutOptions.md#show_person_portrait)
321335

322336
## Custom tags/stereotypes support and skinparam updates
323337

percy/TestPersonPortrait.puml

+32
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
@startuml
2+
' convert it with additional command line argument -DRELATIVE_INCLUDE="." to use locally
3+
!if %variable_exists("RELATIVE_INCLUDE")
4+
!include ./../C4_Deployment.puml
5+
!else
6+
!include https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/C4_Deployment.puml
7+
!endif
8+
9+
10+
!$COLOR_A_5 = "#7f3b08"
11+
!$COLOR_A_1 = "#fee0b6"
12+
!$COLOR_NEUTRAL = "#f7f7f7"
13+
UpdateElementStyle("person", $bgColor=$COLOR_A_5, $fontColor=$COLOR_NEUTRAL, $borderColor=$COLOR_A_1, $shadowing="true")
14+
15+
SHOW_PERSON_PORTRAIT()
16+
17+
' default header Property, Value
18+
AddProperty("Name", "Flash")
19+
AddProperty("Organization", "Zootopia")
20+
AddProperty("Tool", "Internet Explorer 7.0")
21+
Person(personAlias, "Label", "Optional Description (with default property header)")
22+
Person(personAlias1, "Simple")
23+
Person(personAlias2, "Simple with sprite", $sprite="person2")
24+
AddProperty("Name", "Flash")
25+
AddProperty("Organization", "Zootopia")
26+
AddProperty("Tool", "Internet Explorer 7.0")
27+
Person_Ext(personAliasExt, "Label Ext", "Optional Description (with default property header)")
28+
Person_Ext(personAliasExt1, "Simple Ext")
29+
Person_Ext(personAliasExt2, "Simple Ext with sprite", $sprite="person2")
30+
31+
SHOW_LEGEND()
32+
@enduml

0 commit comments

Comments
 (0)