Orchid Diagrams

official

Orchid Diagrams


Create flowcharts and sequence diagrams using the PlantUML markup language.

Using PlantUML with Orchid

Simply include this plugin and you're all set. Orchid will now recognize files with file extensions of uml and puml and compile them as PlantUML, no further configuration necessary. The "standard" PlantUML diagram must start with @startuml and end with @enduml, but if this is not present it will be added for you. Plant UML diagrams are compiled into SVG format and embedded directly into your site's HTML.

Note that some diagram types require GraphViz to be installed on your local machine to work properly.

Examples

Examples

The following examples are taken directly from the official PlantUML docs

Sequence Diagram

source

Alice -> Bob: Authentication Request
Bob --> Alice: Authentication Response

Alice -> Bob: Another authentication Request
Alice <-- Bob: another authentication Response

AliceAliceBobBobAuthentication RequestAuthentication ResponseAnother authentication Requestanother authentication Response

Class Description

source

class Dummy {
 -field1
 #field2
 ~method1()
 +method2()
}

Dummyfield1field2method1()method2()

Activity Diagram

source

 1 start
 2 if (condition A) then (yes)
 3   :Text 1;
 4 elseif (condition B) then (yes)
 5   :Text 2;
 6   stop
 7 elseif (condition C) then (yes)
 8   :Text 3;
 9 elseif (condition D) then (yes)
10   :Text 4;
11 else (nothing)
12   :Text else;
13 endif
14 stop

yescondition AText 1yescondition BText 2yescondition CText 3yescondition DnothingText 4Text else

State Diagram

source

 1 scale 350 width
 2 [*] --> NotShooting
 3 
 4 state NotShooting {
 5   [*] --> Idle
 6   Idle --> Configuring : EvConfig
 7   Configuring --> Idle : EvConfig
 8 }
 9 
10 state Configuring {
11   [*] --> NewValueSelection
12   NewValueSelection --> NewValuePreview : EvNewValue
13   NewValuePreview --> NewValueSelection : EvNewValueRejected
14   NewValuePreview --> NewValueSelection : EvNewValueSaved
15   
16   state NewValuePreview {
17     State1 -> State2
18   }  
19 }

NotShootingIdleConfiguringNewValueSelectionNewValuePreviewState1State2EvNewValueEvNewValueRejectedEvNewValueSavedEvConfigEvConfig

Timing Diagram

source

 1 robust "Web Browser" as WB
 2 concise "Web User" as WU
 3 
 4 WB is Initializing
 5 WU is Absent
 6 
 7 @WB
 8 0 is idle
 9 +200 is Processing
10 +100 is Waiting
11 WB@0 <-> @50 : {50 ms lag}
12 
13 @WU
14 0 is Waiting
15 +500 is ok
16 @200 <-> @+150 : {150 ms}

Web Browser{50 ms lag}InitializingidleProcessingWaitingWeb UserAbsentWaitingok{150 ms}0200300500

Include with:
dependencies {
    orchidRuntime 'io.github.javaeden.orchid:OrchidDiagrams:0.12.1'
}