Skip to content

Instantly share code, notes, and snippets.

@Bunk
Last active January 13, 2021 20:17
Show Gist options
  • Save Bunk/111f48b40e1661d230a01ce946634c9b to your computer and use it in GitHub Desktop.
Save Bunk/111f48b40e1661d230a01ce946634c9b to your computer and use it in GitHub Desktop.
InVision - PlantUML
!$THEME = "invision"
!if %not(%variable_exists("$BGCOLOR"))
!$BGCOLOR = "transparent"
!endif
skinparam backgroundColor $BGCOLOR
!$WHITE = "#FFFFFF"
!$WHITE_DARK = "#DDDDDD"
!$GRAY_DARK = "#1F2532"
!$GRAY_LIGHT = "#8A959E"
!$GRAY_BG = "#F8F8F9"
!$GRAY = $GRAY_LIGHT
!$BRAND = "#e9005d"
!$BRAND_DARKER = "#B80049"
!$PINK_INVISION = "#FF3366"
!$PINK_DARK = "#9A2259"
!$PINK_GRADIENT = $PINK_INVISION-$PINK_DARK
!$PINK = "#353CEE"
!$PINK_DARKER = "#0209BB"
!$BLUE_ENTERPRISE = "#2990EC"
!$BLUE_ENTERPRISE_DARK = "#072e50"
!$BLUE_ENTERPRISE_GRADIENT = $BLUE_ENTERPRISE-$BLUE_ENTERPRISE_DARK
!$PURPLE = "#6A579A"
!$PURPLE_DARK = "#2D233E"
!$PURPLE_GRADIENT = $PURPLE-$PURPLE_DARK
!$ENTERPRISE = "#051337"
!$ENTERPRISE_DARK = "#1C223F"
!$ENTERPRISE_GRADIENT = $ENTERPRISE-$ENTERPRISE_DARK
!$BLUE = "#246BE2"
!$BLUE_DARKER = "#0038AF"
!$GREEN = "#008480"
!$GREEN_DARKER = "#00514D"
!$YELLOW = "#FFB631"
!$YELLOW_DARKER = "#CC8300"
!$RED = "#DC1E3E"
!$RED_DARKER = "#A9000B"
!$PRIMARY = $PINK_INVISION
!$SECONDARY = $BLUE_ENTERPRISE
!$SUCCESS = "#b5bd00"
!$INFO = "#0568ae"
!$WARNING = "#ea7400"
!$DANGER = "#cf2a2a"
!$LIGHT = $GRAY_BG
!$DARK = $GRAY_DARK
!$FGCOLOR = $DARK
!$PRIMARY_LIGHT = $GRAY_LIGHT
!$PRIMARY_DARK = $GRAY_DARK
!$PRIMARY_TEXT = $WHITE
!$SECONDARY_LIGHT = $GRAY_BG
!$SECONDARY_DARK = $GRAY_LIGHT
!$SECONDARY_TEXT = $DARK
!$INFO_LIGHT = "#3786be"
!$INFO_DARK = "#04538b"
!$INFO_TEXT = $WHITE
!$SUCCESS_LIGHT = "#c4ca33"
!$SUCCESS_DARK = "#919700"
!$SUCCESS_TEXT = $WHITE
!$WARNING_LIGHT = "#ee9033"
!$WARNING_DARK = "#bb5d00"
!$WARNING_TEXT = $WHITE
!$DANGER_LIGHT = "#d95555"
!$DANGER_DARK = "#a62222"
!$DANGER_TEXT = $WHITE
!procedure $success($msg)
<font color=$GREEN><b>$msg
!endprocedure
!procedure $failure($msg)
<font color=$RED><b>$msg
!endprocedure
!procedure $warning($msg)
<font color=$YELLOW><b>$msg
!endprocedure
!procedure $http($status="", $msg="", $color=$PRIMARY_DARK)
<b>$status</b> <font color=$color>$msg
!endprocedure
!procedure $primary_scheme()
FontColor $PRIMARY_TEXT
BorderColor $PRIMARY_LIGHT
BackgroundColor $PINK_INVISION-$PINK_DARK
!endprocedure
''
'' Global Default Values
''
skinparam defaultFontName "Verdana"
skinparam defaultFontSize 12
skinparam dpi 100
skinparam shadowing false
skinparam roundcorner 20
skinparam ParticipantPadding 30
skinparam BoxPadding 40
skinparam Padding 8
skinparam ArrowColor $GRAY
skinparam stereotype {
CBackgroundColor $SECONDARY_LIGHT
CBorderColor $SECONDARY_DARK
ABackgroundColor $SUCCESS_LIGHT
ABorderColor $SUCCESS_DARK
IBackgroundColor $DANGER_LIGHT
IBorderColor $DANGER_DARK
EBackgroundColor $WARNING_LIGHT
EBorderColor $WARNING_DARK
NBackgroundColor $INFO_LIGHT
NBorderColor $INFO_DARK
}
skinparam title {
FontColor $WHITE
BorderColor $SECONDARY_DARK
FontSize 20
BorderRoundCorner 8
BorderThickness 1
BackgroundColor $SECONDARY_DARK-$SECONDARY
}
skinparam legend {
BackgroundColor $SECONDARY
BorderColor $SECONDARY_DARK
FontColor $DARK
}
!startsub activity
skinparam activity {
FontColor $PRIMARY_TEXT
BorderColor $PRIMARY
BackgroundColor $PRIMARY_LIGHT-$PRIMARY
BarColor $SUCCESS_LIGHT
StartColor $INFO
EndColor $INFO
''
DiamondBackgroundColor $SECONDARY_LIGHT-$SECONDARY_DARK
DiamondBorderColor $SECONDARY_DARK
DiamondFontColor $SECONDARY_TEXT
}
!endsub
!startsub participant
skinparam participant {
$primary_scheme()
BackgroundColor $GRAY-$GRAY_DARK
BackgroundColor<<BFF>> $BLUE-$BLUE_DARKER
BackgroundColor<<SPA>> $BRAND-$BRAND_DARKER
BackgroundColor<<Domain>> $BLUE-$BLUE_DARKER
BackgroundColor<<Native>> $GRAY-$GRAY_DARK
ParticipantBorderThickness 2
}
!endsub
!startsub actor
skinparam actor {
$primary_scheme()
FontColor $PRIMARY
}
!endsub
!startsub arrow
skinparam arrow {
Thickness 3
Color $PRIMARY
FontColor $FGCOLOR
}
!endsub
!startsub sequence
skinparam sequence {
BorderColor $PRIMARY
' For some reason sequence title font color does not pick up from global
TitleFontColor $WHITE
BackgroundColor $SECONDARY_DARK-$SECONDARY
StartColor $PRIMARY
EndColor $PRIMARY
StereotypeFontColor $WHITE_DARK
''
BoxBackgroundColor $LIGHT
BoxBorderColor $GRAY
BoxFontColor $DARK
''
LifeLineBorderColor $SECONDARY_DARK
LifeLineBorderThickness 2
LifeLineBackgroundColor $SECONDARY_LIGHT
''
GroupBorderColor $GRAY
GroupFontColor $DARK
GroupHeaderFontColor $INFO
''
DividerBackgroundColor $WHITE-$LIGHT
DividerBorderColor $GRAY
DividerBorderThickness 2
DividerFontColor $DARK
''
ReferenceBackgroundColor $BGCOLOR
ReferenceBorderColor $GRAY
ReferenceFontColor $DARK
ReferenceHeaderFontColor $INFO
}
!endsub
!startsub partition
skinparam partition {
BorderColor $PRIMARY
FontColor $PRIMARY
BackgroundColor $BGCOLOR
}
!endsub
!startsub collections
skinparam collections {
$primary_scheme()
}
!endsub
!startsub control
skinparam control {
$primary_scheme()
FontColor $PRIMARY
}
!endsub
!startsub entity
skinparam entity {
$primary_scheme()
FontColor $PRIMARY
}
!endsub
!startsub boundary
skinparam boundary {
$primary_scheme()
FontColor $PRIMARY
}
!endsub
!startsub agent
skinparam agent {
BackgroundColor #orange
BorderColor #999999
FontColor #333333
}
!endsub
!startsub note
skinparam note {
BorderThickness 1
BackgroundColor $INFO_LIGHT-$INFO
BorderColor $INFO
FontColor $WHITE
}
!endsub
!startsub artifact
skinparam artifact {
BackgroundColor $WHITE-$LIGHT
BorderColor $SECONDARY_DARK
FontColor $SECONDARY_TEXT
}
!endsub
!startsub component
skinparam component {
$primary_scheme()
}
!endsub
!startsub interface
skinparam interface {
BackgroundColor $DANGER_LIGHT
BorderColor $DANGER
FontColor $DARK
}
!endsub
!startsub storage
skinparam storage {
BackgroundColor $WARNING_LIGHT-$WARNING
BorderColor $WARNING
FontColor $WARNING_TEXT
}
!endsub
!startsub node
skinparam node {
BackgroundColor $SECONDARY_LIGHT-$SECONDARY
BorderColor $SECONDARY_DARK
FontColor $PRIMARY
}
!endsub
!startsub cloud
skinparam cloud {
BackgroundColor #F2FCFE-#eeeeee
BorderColor #F2FCFE
FontColor $PRIMARY
}
!endsub
!startsub database
skinparam database {
$primary_scheme()
' FontColor $PRIMARY
BorderColor $PRIMARY_DARK
' BackgroundColor $BGCOLOR
}
!endsub
!startsub class
skinparam class {
$primary_scheme()
HeaderBackgroundColor $PRIMARY_LIGHT-$PRIMARY
StereotypeFontColor $DARK
BorderThickness 1
AttributeFontColor $LIGHT
AttributeFontSize 11
}
!endsub
!startsub object
skinparam object {
$primary_scheme()
StereotypeFontColor $DARK
BorderThickness 1
AttributeFontColor $LIGHT
AttributeFontSize 11
}
!endsub
!startsub usecase
skinparam usecase {
$primary_scheme()
BorderThickness 2
StereotypeFontColor $PRIMARY
}
!endsub
!startsub rectangle
skinparam rectangle {
$primary_scheme()
BackgroundColor $BGCOLOR
BorderThickness 2
StereotypeFontColor $PRIMARY
}
!endsub
!startsub package
skinparam package {
FontColor $PRIMARY
BorderColor $PRIMARY_LIGHT
BackgroundColor $BGCOLOR
BorderThickness 2
}
!endsub
!startsub folder
skinparam folder {
BackgroundColor $WHITE-$SECONDARY_LIGHT
BorderColor $WARNING
FontColor $WARNING
BorderThickness 2
}
!endsub
!startsub frame
skinparam frame {
BackgroundColor $WHITE-$SECONDARY_LIGHT
BorderColor $INFO
FontColor $INFO
BorderThickness 2
}
!endsub
!startsub state
skinparam state {
$primary_scheme()
StartColor $INFO
EndColor $INFO
AttributeFontColor $LIGHT
AttributeFontSize 11
}
!endsub
!startsub queue
skinparam queue {
$primary_scheme()
}
!endsub
!startsub card
skinparam card {
BackgroundColor $INFO_LIGHT-$INFO
BorderColor $INFO
FontColor $INFO_TEXT
}
!endsub
!startsub file
skinparam file {
BackgroundColor $SECONDARY_LIGHT-$SECONDARY
BorderColor $INFO
FontColor $SECONDARY_TEXT
}
!endsub
!startsub stack
skinparam stack {
$primary_scheme()
}
!endsub
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment