There are several other commands useful along with core commands for styling and layout.
' List all ArchiMate icons
@startuml
listsprite
@enduml
-----------------------
' Layout of the elements
top to bottom direction
' New way of defining style of the elements. Style can be defined for all elements or specific type of element or an annotated element
<style>
element {
FontColor: green;
}
rectangle {
MinimumWidth: 600;
VerticalAlignment: left;
HorizontalAlignment: center
}
</style>
--------------------------------------
' A detailed example of styling
@startuml
!includeurl https://raw.githubusercontent.com/plantuml-stdlib/Archimate-PlantUML/master/Archimate.puml
!theme archimate-standard from https://raw.githubusercontent.com/plantuml-stdlib/Archimate-PlantUML/master/themes
top to bottom direction
<style>
.a {
MinimumWidth: 650;
FontColor: blue;
VerticalAlignment: left;
HorizontalAlignment: center;
BackGroundColor: #faf7f6;
LineColor: #ff45ff;
FontStyle: italic;
LineStyle: 3;
Padding: 0;
Margin: 0;
}
.b {
MinimumWidth: 600;
VerticalAlignment: left;
HorizontalAlignment: center;
FontColor: green;
LineColor: purple;
LineStyle: dotted;
margin: 0;
padding: 0;
}
</style>
rectangle "OuterBox" as OuterBox <<a>>{
rectangle "Motivation Layer" as motivationLayer <<b>>{
Motivation_Stakeholder(Stakeholder, "Project Manager")
Motivation_Goal(Goal, "Increase Efficiency")
Motivation_Requirement(Requirement, "Automate Task Assignments")
}
rectangle "Strategy Layer" as strategyLayer <<b>>{
Strategy_Capability(Capability, "Task Automation")
Strategy_Resource(Resource, "AI-based Task Engine")
}
rectangle "Business Layer" as businessLayer <<b>>{
Business_Actor(Actor, "Employee")
Business_Process(Process, "Task Assignment")
Business_Service(Service, "Task Management Service")
}
rectangle "Application Layer" as applicationLayer <<b>>{
Application_Component(AppComponent, "Task Management API")
Application_Service(AppService, "Task Processing Service")
}
rectangle "Technology Layer" as technologyLayer <<b>> {
Technology_Node(TechNode, "Cloud Server")
Technology_Service(TechService, "Database Hosting")
}
}
Stakeholder -[hidden]- Capability
Capability -[hidden]- Actor
Actor -[hidden]- AppComponent
AppComponent -[hidden]- TechNode
@enduml
-------------------------
' Putting elements in a box can be done by various methods: Grouping, rectangle, Mainframe, frame
' Creating a box around everything that is below mainframe
mainframe This is a **mainframe**
' Creating a box with brackets so that elements inside brackets display in the box
Mainframe OuterFrame {
frame a {
}
frame b {
}
}
Themes for Archimate in PlantUML
!theme archimate-handwriting from https://raw.githubusercontent.com/plantuml-stdlib/Archimate-PlantUML/master/themes
!theme archimate-alternate from https://raw.githubusercontent.com/plantuml-stdlib/Archimate-PlantUML/master/themes
!theme archimate-saturated from https://raw.githubusercontent.com/plantuml-stdlib/Archimate-PlantUML/master/themes
!theme archimate-lowsaturation from https://raw.githubusercontent.com/plantuml-stdlib/Archimate-PlantUML/master/themes
Comments
Post a Comment