From 106bc05f6c41fa53e96b93281648660d33a5621d Mon Sep 17 00:00:00 2001 From: KIRCHSTH Date: Sun, 20 Nov 2022 16:58:02 +0100 Subject: [PATCH 1/2] #256 Add plantuml.jar workaround and style actor after person --- C4.puml | 9 +++++---- C4_Context.puml | 6 ++++++ 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/C4.puml b/C4.puml index c89d556d..c20c0bd7 100644 --- a/C4.puml +++ b/C4.puml @@ -116,15 +116,15 @@ skinparam arrow { FontSize 12 } -skinparam actor { +skinparam person { StereotypeFontSize 12 shadowing false - style awesome } -skinparam person { +skinparam actor { StereotypeFontSize 12 shadowing false + style awesome } ' Some boundary skinparams have to be set as package skinparams too (PlantUML uses internal packages) @@ -330,9 +330,10 @@ skinparam package { !$tagSkin = $elementTagSkinparams("rectangle", $tagStereo, $bgColor, $fontColor, $borderColor, $shadowing, $shape) !$tagSkin = $tagSkin + $elementTagSkinparams("database", $tagStereo, $bgColor, $fontColor, $borderColor, $shadowing, "") !$tagSkin = $tagSkin + $elementTagSkinparams("queue", $tagStereo, $bgColor, $fontColor, $borderColor, $shadowing, "") + ' plantuml.jar bug - actor have to be after person + !$tagSkin = $tagSkin + $elementTagSkinparams("person", $tagStereo, $bgColor, $fontColor, $borderColor, $shadowing, "") ' actor has style awesome, therefore $fontColor is ignored and text uses $bgColor too !$tagSkin = $tagSkin + $elementTagSkinparams("actor", $tagStereo, $bgColor, $bgColor, $borderColor, $shadowing, "") - !$tagSkin = $tagSkin + $elementTagSkinparams("person", $tagStereo, $bgColor, $fontColor, $borderColor, $shadowing, "") !if (%strpos($tagStereo, "boundary") >= 0 && $bgColor != "") !$tagSkin = $tagSkin + "skinparam package<<" + $tagStereo + ">>StereotypeFontColor " + $bgColor + %newline() !$tagSkin = $tagSkin + "skinparam rectangle<<" + $tagStereo + ">>StereotypeFontColor " + $bgColor + %newline() diff --git a/C4_Context.puml b/C4_Context.puml index 50c5a1e1..b655aded 100644 --- a/C4_Context.puml +++ b/C4_Context.puml @@ -280,6 +280,8 @@ endlegend !global $defaultPersonSprite = "person" !$dummy = $restoreEmpty("person", "sprite", $defaultPersonSprite, %true()) UpdateElementStyle("person") +' workaround of plantuml.jar bug - person overwrites external_person setting +UpdateElementStyle("external_person") !global $portraitPerson = "false" !procedure $clearPersonRestore() @@ -287,6 +289,8 @@ UpdateElementStyle("person") !$dummy = $clearRestore("person", "legendSprite") %set_variable_value("$" + "person" + "ElementTagSprite", "") UpdateElementStyle("person") + ' workaround of plantuml.jar bug - person overwrites external_person setting + UpdateElementStyle("external_person") !endprocedure !procedure HIDE_PERSON_SPRITE() @@ -303,6 +307,8 @@ UpdateElementStyle("person") !endif !$dummy = $restoreEmpty("person", "sprite", $defaultPersonSprite, %true()) UpdateElementStyle("person") + ' workaround of plantuml.jar bug - person overwrites external_person setting + UpdateElementStyle("external_person") !$portraitPerson = "false" !endprocedure From 460036837c1a303500fd1cbdeaf9ab3cdbaf49b7 Mon Sep 17 00:00:00 2001 From: KIRCHSTH Date: Sun, 20 Nov 2022 18:21:31 +0100 Subject: [PATCH 2/2] #256 fix PR finding (missing person sprite in external_person legend) --- C4_Context.puml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/C4_Context.puml b/C4_Context.puml index b655aded..af973182 100644 --- a/C4_Context.puml +++ b/C4_Context.puml @@ -281,6 +281,7 @@ endlegend !$dummy = $restoreEmpty("person", "sprite", $defaultPersonSprite, %true()) UpdateElementStyle("person") ' workaround of plantuml.jar bug - person overwrites external_person setting +!$dummy = $restoreEmpty("external_person", "sprite", $defaultPersonSprite, %true()) UpdateElementStyle("external_person") !global $portraitPerson = "false" @@ -290,6 +291,9 @@ UpdateElementStyle("external_person") %set_variable_value("$" + "person" + "ElementTagSprite", "") UpdateElementStyle("person") ' workaround of plantuml.jar bug - person overwrites external_person setting + !$dummy = $clearRestore("external_person", "sprite") + !$dummy = $clearRestore("external_person", "legendSprite") + %set_variable_value("$" + "external_person" + "ElementTagSprite", "") UpdateElementStyle("external_person") !endprocedure @@ -308,6 +312,7 @@ UpdateElementStyle("external_person") !$dummy = $restoreEmpty("person", "sprite", $defaultPersonSprite, %true()) UpdateElementStyle("person") ' workaround of plantuml.jar bug - person overwrites external_person setting + !$dummy = $restoreEmpty("external_person", "sprite", $defaultPersonSprite, %true()) UpdateElementStyle("external_person") !$portraitPerson = "false" !endprocedure