UNPKG

mermaid

Version:

Markdownish syntax for generating flowcharts, sequence diagrams and gantt charts.

212 lines (186 loc) 17.4 kB
<!DOCTYPE html> <html> <head> <title>demos.md</title> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <link rel="stylesheet" media="all" href="../doc-style.css" /> <script src="../doc-filelist.js"></script> <script> var relativeDir = "../", thisFile = "Users/knut/Documents/source/mermaid/docs/demos.md", defaultSidebar = true; </script> <script src="../doc-script.js"></script> <script src="../mermaid.js"></script> <link rel="stylesheet" href="../mermaid.css" /> </head> <body> <div id="sidebar_wrapper"> <div id="sidebar_switch"> <span class="tree">Files</span> <span class="headings">Headings</span> </div> <div id="tree"></div> <div id="headings"> <div class="heading h1"> <a href="#Demos">Demos</a> </div> <div class="heading h2"> <a href="#Basic flowchart">Basic flowchart</a> </div> <div class="heading h2"> <a href="#Larger flowchart with some styling">Larger flowchart with some styling</a> </div> <div class="heading h2"> <a href="#Basic sequence diagram">Basic sequence diagram</a> </div> <div class="heading h2"> <a href="#Loops, alt and opt">Loops, alt and opt</a> </div> <div class="heading h2"> <a href="#Message to self in loop">Message to self in loop</a> </div> </div> </div> <div id="sidebar-toggle"></div> <div id="container"><div class="docs markdown"><div class="pilwrap" id="Demos"> <h1> <a href="#Demos" name="Demos" class="pilcrow">&#182;</a> Demos</h1> </div> <div class="pilwrap" id="Basic flowchart"> <h2> <a href="#Basic flowchart" name="Basic flowchart" class="pilcrow">&#182;</a> Basic flowchart</h2> </div> <div class="highlight"><pre><code><span class="o">%%</span> <span class="nx">Example</span> <span class="nx">diagram</span> <span class="nx">graph</span> <span class="nx">LR</span> <span class="nx">A</span><span class="p">[</span><span class="nx">Square</span> <span class="nx">Rect</span><span class="p">]</span> <span class="o">--</span> <span class="nx">Link</span> <span class="nx">text</span> <span class="o">--</span> <span class="nx">B</span><span class="p">((</span><span class="nx">Circle</span><span class="p">))</span> <span class="nx">A</span> <span class="o">--</span> <span class="nx">C</span><span class="p">(</span><span class="nx">Round</span> <span class="nx">Rect</span><span class="p">)</span> <span class="nx">B</span> <span class="o">--</span> <span class="nx">D</span><span class="p">{</span><span class="nx">Rhombus</span><span class="p">}</span> <span class="nx">C</span> <span class="o">--</span> <span class="nx">D</span> </code></pre></div> <script>mermaid.initialize({startOnLoad:true});</script><div class="mermaid">graph LR A[Square Rect] -- Link text --> B((Circle)) A --> C(Round Rect) B --> D{Rhombus} C --> D</div><div class="pilwrap" id="Larger flowchart with some styling"> <h2> <a href="#Larger flowchart with some styling" name="Larger flowchart with some styling" class="pilcrow">&#182;</a> Larger flowchart with some styling</h2> </div> <div class="highlight"><pre><code><span class="o">%%</span> <span class="nx">Code</span> <span class="k">for</span> <span class="nx">flowchart</span> <span class="nx">below</span> <span class="nx">graph</span> <span class="nx">TB</span> <span class="nx">sq</span><span class="p">[</span><span class="nx">Square</span> <span class="nx">shape</span><span class="p">]</span> <span class="o">--</span> <span class="nx">ci</span><span class="p">((</span><span class="nx">Circle</span> <span class="nx">shape</span><span class="p">))</span> <span class="nx">subgraph</span> <span class="nx">A</span> <span class="nx">subgraph</span> <span class="nx">odOdd</span> <span class="nx">shape</span><span class="p">]</span><span class="o">--</span> <span class="nx">Two</span> <span class="nx">linelt</span><span class="p">;</span><span class="nx">bredge</span> <span class="nx">comment</span> <span class="o">--</span> <span class="nx">ro</span> <span class="nx">di</span><span class="p">{</span><span class="nx">Diamond</span> <span class="kd">with</span> <span class="nx">lt</span><span class="p">;</span><span class="nx">br</span><span class="o">/</span> <span class="nx">line</span> <span class="k">break</span><span class="p">}</span> <span class="o">-</span><span class="p">.</span><span class="o">-</span> <span class="nx">ro</span><span class="p">(</span><span class="nx">Roundedlt</span><span class="p">;</span><span class="nx">brsquarelt</span><span class="p">;</span><span class="nx">brshape</span><span class="p">)</span> <span class="nx">di</span><span class="o">==</span><span class="nx">ro2</span><span class="p">(</span><span class="nx">Rounded</span> <span class="nx">square</span> <span class="nx">shape</span><span class="p">)</span> <span class="nx">end</span> <span class="o">%%</span> <span class="nx">Notice</span> <span class="nx">that</span> <span class="nx">no</span> <span class="nx">text</span> <span class="k">in</span> <span class="nx">shape</span> <span class="nx">are</span> <span class="nx">added</span> <span class="nx">here</span> <span class="nx">instead</span> <span class="nx">that</span> <span class="nx">is</span> <span class="nx">appended</span> <span class="nx">further</span> <span class="nx">down</span> <span class="nx">e</span> <span class="o">--</span> <span class="nx">od3Really</span> <span class="kr">long</span> <span class="nx">text</span> <span class="kd">with</span> <span class="nx">linebreaklt</span><span class="p">;</span><span class="nx">brin</span> <span class="nx">an</span> <span class="nx">Odd</span> <span class="nx">shape</span><span class="p">]</span> <span class="o">%%</span> <span class="nx">Comments</span> <span class="nx">after</span> <span class="kr">double</span> <span class="nx">percent</span> <span class="nx">signs</span> <span class="nx">e</span><span class="p">((</span><span class="nx">Inner</span> <span class="o">/</span> <span class="nx">circlelt</span><span class="p">;</span><span class="nx">brand</span> <span class="nx">some</span> <span class="nx">odd</span> <span class="nx">lt</span><span class="p">;</span><span class="nx">brspecial</span> <span class="nx">characters</span><span class="p">))</span> <span class="o">--</span> <span class="nx">f</span><span class="p">(,.</span><span class="o">?!+-*</span><span class="err">ز</span><span class="p">)</span> <span class="nx">cyr</span><span class="p">[</span><span class="nx">Cyrillic</span><span class="p">]</span><span class="o">--</span><span class="nx">cyr2</span><span class="p">((</span><span class="nx">Circle</span> <span class="nx">shape</span> <span class="err">Начало</span><span class="p">));</span> <span class="nx">classDef</span> <span class="nx">green</span> <span class="nx">fill</span><span class="o">:</span><span class="err">#</span><span class="mi">9</span><span class="nx">f6</span><span class="p">,</span><span class="nx">stroke</span><span class="o">:</span><span class="err">#</span><span class="mi">333</span><span class="p">,</span><span class="nx">stroke</span><span class="o">-</span><span class="nx">width</span><span class="o">:</span><span class="mi">2</span><span class="nx">px</span><span class="p">;</span> <span class="nx">classDef</span> <span class="nx">orange</span> <span class="nx">fill</span><span class="o">:</span><span class="err">#</span><span class="nx">f96</span><span class="p">,</span><span class="nx">stroke</span><span class="o">:</span><span class="err">#</span><span class="mi">333</span><span class="p">,</span><span class="nx">stroke</span><span class="o">-</span><span class="nx">width</span><span class="o">:</span><span class="mi">4</span><span class="nx">px</span><span class="p">;</span> <span class="kr">class</span> <span class="nx">sq</span><span class="p">,</span><span class="nx">e</span> <span class="nx">green</span> <span class="kr">class</span> <span class="nx">di</span> <span class="nx">orange</span> </code></pre></div> <div class="mermaid">graph TB sq[Square shape] --> ci((Circle shape)) subgraph A subgraph od>Odd shape]-- Two line&lt;br>edge comment --> ro di{Diamond with &lt;br/> line break} -.-> ro(Rounded&lt;br>square&lt;br>shape) di==>ro2(Rounded square shape) end %% Notice that no text in shape are added here instead that is appended further down e --> od3>Really long text with linebreak<br>in an Odd shape] %% Comments after double percent signs e((Inner / circle<br>and some odd <br>special characters)) --> f(,.?!+-*ز) cyr[Cyrillic]-->cyr2((Circle shape Начало)); classDef green fill:#9f6,stroke:#333,stroke-width:2px; classDef orange fill:#f96,stroke:#333,stroke-width:4px; class sq,e green class di orange</div><div class="pilwrap" id="Basic sequence diagram"> <h2> <a href="#Basic sequence diagram" name="Basic sequence diagram" class="pilcrow">&#182;</a> Basic sequence diagram</h2> </div> <div class="highlight"><pre><code><span class="o">%%</span> <span class="nx">Sequence</span> <span class="nx">diagram</span> <span class="nx">code</span> <span class="nx">sequenceDiagram</span> <span class="nx">Alice</span> <span class="o">-</span> <span class="nx">Bob</span><span class="o">:</span> <span class="nx">Hello</span> <span class="nx">Bob</span><span class="p">,</span> <span class="nx">how</span> <span class="nx">are</span> <span class="nx">you</span><span class="o">?</span> <span class="nx">Bob</span><span class="o">--</span><span class="nx">John</span><span class="o">:</span> <span class="nx">How</span> <span class="nx">about</span> <span class="nx">you</span> <span class="nx">John</span><span class="o">?</span> <span class="nx">Bob</span><span class="o">--</span><span class="nx">x</span> <span class="nx">Alice</span><span class="o">:</span> <span class="nx">I</span> <span class="nx">am</span> <span class="nx">good</span> <span class="nx">thanks</span><span class="o">!</span> <span class="nx">Bob</span><span class="o">-</span><span class="nx">x</span> <span class="nx">John</span><span class="o">:</span> <span class="nx">I</span> <span class="nx">am</span> <span class="nx">good</span> <span class="nx">thanks</span><span class="o">!</span> <span class="nx">Note</span> <span class="nx">right</span> <span class="nx">of</span> <span class="nx">John</span><span class="o">:</span> <span class="nx">Bob</span> <span class="nx">thinks</span> <span class="nx">a</span> <span class="nx">longlt</span><span class="p">;</span><span class="nx">br</span><span class="o">/</span><span class="kr">long</span> <span class="nx">time</span><span class="p">,</span> <span class="nx">so</span> <span class="nx">longlt</span><span class="p">;</span><span class="nx">br</span><span class="o">/</span><span class="nx">that</span> <span class="nx">the</span> <span class="nx">text</span> <span class="nx">doeslt</span><span class="p">;</span><span class="nx">br</span><span class="o">/</span><span class="nx">not</span> <span class="nx">fit</span> <span class="nx">on</span> <span class="nx">a</span> <span class="nx">row</span><span class="p">.</span> <span class="nx">Bob</span><span class="o">--</span><span class="nx">Alice</span><span class="o">:</span> <span class="nx">Checking</span> <span class="kd">with</span> <span class="nx">John</span><span class="p">...</span> <span class="nx">Alice</span><span class="o">-</span><span class="nx">John</span><span class="o">:</span> <span class="nx">Yes</span><span class="p">...</span> <span class="nx">John</span><span class="p">,</span> <span class="nx">how</span> <span class="nx">are</span> <span class="nx">you</span><span class="o">?</span> </code></pre></div> <div class="mermaid">sequenceDiagram Alice->> Bob: Hello Bob, how are you? Bob-->> John: How about you John? Bob--x Alice: I am good thanks! Bob-x John: I am good thanks! Note right of John: Bob thinks a long<br/>long time, so long<br/>that the text does<br/>not fit on a row. Bob-->Alice: Checking with John... Alice->John: Yes... John, how are you?</div><div class="pilwrap" id="Loops, alt and opt"> <h2> <a href="#Loops, alt and opt" name="Loops, alt and opt" class="pilcrow">&#182;</a> Loops, alt and opt</h2> </div> <div class="highlight"><pre><code><span class="o">%%</span> <span class="nx">Sequence</span> <span class="nx">diagram</span> <span class="nx">code</span> <span class="nx">sequenceDiagram</span> <span class="nx">loop</span> <span class="nx">Daily</span> <span class="nx">query</span> <span class="nx">Alice</span><span class="o">-</span><span class="nx">gt</span><span class="p">;</span><span class="nx">gt</span><span class="p">;</span><span class="nx">Bob</span><span class="o">:</span> <span class="nx">Hello</span> <span class="nx">Bob</span><span class="p">,</span> <span class="nx">how</span> <span class="nx">are</span> <span class="nx">you</span><span class="o">?</span> <span class="nx">alt</span> <span class="nx">is</span> <span class="nx">sick</span> <span class="nx">Bob</span><span class="o">-</span><span class="nx">gt</span><span class="p">;</span><span class="nx">gt</span><span class="p">;</span><span class="nx">Alice</span><span class="o">:</span> <span class="nx">Not</span> <span class="nx">so</span> <span class="nx">good</span> <span class="o">:</span><span class="p">(</span> <span class="k">else</span> <span class="nx">is</span> <span class="nx">well</span> <span class="nx">Bob</span><span class="o">-</span><span class="nx">gt</span><span class="p">;</span><span class="nx">gt</span><span class="p">;</span><span class="nx">Alice</span><span class="o">:</span> <span class="nx">Feeling</span> <span class="nx">fresh</span> <span class="nx">like</span> <span class="nx">a</span> <span class="nx">daisy</span> <span class="nx">end</span> <span class="nx">opt</span> <span class="nx">Extra</span> <span class="nx">response</span> <span class="nx">Bob</span><span class="o">-</span><span class="nx">gt</span><span class="p">;</span><span class="nx">gt</span><span class="p">;</span><span class="nx">Alice</span><span class="o">:</span> <span class="nx">Thanks</span> <span class="k">for</span> <span class="nx">asking</span> <span class="nx">end</span> <span class="nx">end</span> </code></pre></div> <div class="mermaid">sequenceDiagram loop Daily query Alice->>Bob: Hello Bob, how are you? alt is sick Bob->>Alice: Not so good :( else is well Bob->>Alice: Feeling fresh like a daisy end opt Extra response Bob->>Alice: Thanks for asking end end</div><div class="pilwrap" id="Message to self in loop"> <h2> <a href="#Message to self in loop" name="Message to self in loop" class="pilcrow">&#182;</a> Message to self in loop</h2> </div> <div class="highlight"><pre><code><span class="o">%%</span> <span class="nx">Sequence</span> <span class="nx">diagram</span> <span class="nx">code</span> <span class="nx">sequenceDiagram</span> <span class="nx">participant</span> <span class="nx">Alice</span> <span class="nx">participant</span> <span class="nx">Bob</span> <span class="nx">Alice</span><span class="o">-</span><span class="nx">John</span><span class="o">:</span> <span class="nx">Hello</span> <span class="nx">John</span><span class="p">,</span> <span class="nx">how</span> <span class="nx">are</span> <span class="nx">you</span><span class="o">?</span> <span class="nx">loop</span> <span class="nx">Healthcheck</span> <span class="nx">John</span><span class="o">-</span><span class="nx">John</span><span class="o">:</span> <span class="nx">Fight</span> <span class="nx">against</span> <span class="nx">hypochondria</span> <span class="nx">end</span> <span class="nx">Note</span> <span class="nx">right</span> <span class="nx">of</span> <span class="nx">John</span><span class="o">:</span> <span class="nx">Rational</span> <span class="nx">thoughtslt</span><span class="p">;</span><span class="nx">br</span><span class="o">/</span><span class="nx">prevail</span><span class="p">...</span> <span class="nx">John</span><span class="o">--</span><span class="nx">Alice</span><span class="o">:</span> <span class="nx">Great</span><span class="o">!</span> <span class="nx">John</span><span class="o">-</span><span class="nx">Bob</span><span class="o">:</span> <span class="nx">How</span> <span class="nx">about</span> <span class="nx">you</span><span class="o">?</span> <span class="nx">Bob</span><span class="o">--</span><span class="nx">John</span><span class="o">:</span> <span class="nx">Jolly</span> <span class="nx">good</span><span class="o">!</span> </code></pre></div> <div class="mermaid">sequenceDiagram participant Alice participant Bob Alice->>John: Hello John, how are you? loop Healthcheck John->>John: Fight against hypochondria end Note right of John: Rational thoughts<br/>prevail... John-->>Alice: Great! John->>Bob: How about you? Bob-->>John: Jolly good!</div></div> </div> </body> </html>