mermaid 用法

<div id="article_content" class="article_content tracking-ad" data-mod="popu_307" data-dsm="post">
        <div class="markdown_views"><p>作者:黄永刚</p>






<h2 id="mermaid简介"><a name="t0" target="_blank"></a><strong>mermaid简介</strong></h2>


<p><img src="https://img-blog.csdn.net/20161021235139472" alt="这里写图片描述" title=""></p>


<p><strong>当撰写文档的时候,对于流程图的生成大多使用Visio等繁重的工具,没有一种轻便的工具能够画图从而简化文档的编写,就像markdown那样。</strong></p>


<p>mermaid解决这个痛点,这是一个类似markdown语法的脚本语言,通过JavaScript实现图表的生成。 <br>
先来看个例子:</p>


<p>1.流程图(flowchart)</p>






<pre class="prettyprint" name="code"><code class="language-{mermaid} hljs brainfuck has-numbering"><span class="hljs-comment">graph</span> <span class="hljs-comment">LR;</span>  
<span class="hljs-comment">  A</span><span class="hljs-literal">-</span><span class="hljs-literal">-</span>&gt;<span class="hljs-comment">B;</span>    
<span class="hljs-comment">  A</span><span class="hljs-literal">-</span><span class="hljs-literal">-</span>&gt;<span class="hljs-comment">C;</span>  
<span class="hljs-comment">  B</span><span class="hljs-literal">-</span><span class="hljs-literal">-</span>&gt;<span class="hljs-comment">D;</span>  
<span class="hljs-comment">  C</span><span class="hljs-literal">-</span><span class="hljs-literal">-</span>&gt;<span class="hljs-comment">D;</span>  </code><ul class="pre-numbering" style=""><li>1</li><li>2</li><li>3</li><li>4</li><li>5</li></ul></pre>


<p>生成的图表如下所示:</p>


<p><img src="https://img-blog.csdn.net/20161021210422053" alt="这里写图片描述" title=""> <br>
2. 时序图(sequence diagram)</p>






<pre class="prettyprint" name="code"><code class="language-{mermaid} hljs erlang-repl has-numbering"><span class="hljs-function_or_atom">sequenceDiagram</span>
   <span class="hljs-function_or_atom">participant</span> <span class="hljs-variable">Alice</span>
   <span class="hljs-function_or_atom">participant</span> <span class="hljs-variable">Bob</span>
   <span class="hljs-variable">Alice</span><span class="hljs-arrow">-&gt;</span><span class="hljs-variable">John</span>:<span class="hljs-variable">Hello</span> <span class="hljs-variable">John</span>, <span class="hljs-function_or_atom">how</span> <span class="hljs-function_or_atom">are</span> <span class="hljs-function_or_atom">you</span>?
   <span class="hljs-function_or_atom">loop</span> <span class="hljs-variable">Healthcheck</span>
     <span class="hljs-variable">John</span><span class="hljs-arrow">-&gt;</span><span class="hljs-variable">John</span>:<span class="hljs-variable">Fight</span> <span class="hljs-function_or_atom">against</span> <span class="hljs-function_or_atom">hypochondria</span>
   <span class="hljs-function_or_atom">end</span>
   <span class="hljs-variable">Note</span> <span class="hljs-function_or_atom">right</span> <span class="hljs-function_or_atom">of</span> <span class="hljs-variable">John</span>:<span class="hljs-variable">Rational</span> <span class="hljs-function_or_atom">thoughts</span> &lt;<span class="hljs-function_or_atom">br</span>/&gt;<span class="hljs-function_or_atom">prevail</span>...
   <span class="hljs-variable">John</span>-<span class="hljs-arrow">-&gt;</span><span class="hljs-variable">Alice</span>:<span class="hljs-variable">Great</span><span class="hljs-exclamation_mark">!</span>
   <span class="hljs-variable">John</span><span class="hljs-arrow">-&gt;</span><span class="hljs-variable">Bob</span>: <span class="hljs-variable">How</span> <span class="hljs-function_or_atom">about</span> <span class="hljs-function_or_atom">you</span>?
   <span class="hljs-variable">Bob</span>-<span class="hljs-arrow">-&gt;</span><span class="hljs-variable">John</span>: <span class="hljs-variable">Jolly</span> <span class="hljs-function_or_atom">good</span><span class="hljs-exclamation_mark">!</span></code><ul class="pre-numbering" style=""><li>1</li><li>2</li><li>3</li><li>4</li><li>5</li><li>6</li><li>7</li><li>8</li><li>9</li><li>10</li><li>11</li></ul></pre>


<p>生成的图表如下所示:</p>


<p><img src="https://img-blog.csdn.net/20161021210500377" alt="这里写图片描述" title=""></p>


<p>3.甘特图(gantt diagram)</p>






<pre class="prettyprint" name="code"><code class="language-{mermaid} hljs livecodeserver has-numbering">gantt
   <span class="hljs-built_in">dateFormat</span> YYYY-MM-DD
   title Adding GANTT diagram functionality <span class="hljs-built_in">to</span> mermaid
   section A section
   Completed task  :done, des1, <span class="hljs-number">2014</span>-<span class="hljs-number">01</span>-<span class="hljs-number">06</span>,<span class="hljs-number">2014</span>-<span class="hljs-number">01</span>-<span class="hljs-number">08</span>
   Active task     :active, des2, <span class="hljs-number">2014</span>-<span class="hljs-number">01</span>-<span class="hljs-number">09</span>, <span class="hljs-number">3</span>d
   future task     :     des3, <span class="hljs-keyword">after</span> des2, <span class="hljs-number">5</span>d
   future task2    :     des4, <span class="hljs-keyword">after</span> des3, <span class="hljs-number">5</span>d
   section Critical tasks
   Completed task <span class="hljs-operator">in</span> <span class="hljs-operator">the</span> critical <span class="hljs-built_in">line</span> :crit, done, <span class="hljs-number">2014</span>-<span class="hljs-number">01</span>-<span class="hljs-number">06</span>,<span class="hljs-number">24</span>h
   Implement parser <span class="hljs-operator">and</span> json      :crit, done, <span class="hljs-keyword">after</span> des1, <span class="hljs-number">2</span>d
   Create tests <span class="hljs-keyword">for</span> parser       :crit, active, <span class="hljs-number">3</span>d
   Future task <span class="hljs-operator">in</span> critical <span class="hljs-built_in">line</span>     :crit, <span class="hljs-number">5</span>d
   Create tests <span class="hljs-keyword">for</span> renderer      :<span class="hljs-number">2</span>d
   Add <span class="hljs-built_in">to</span> ,mermaid           :<span class="hljs-number">1</span>d</code><ul class="pre-numbering" style=""><li>1</li><li>2</li><li>3</li><li>4</li><li>5</li><li>6</li><li>7</li><li>8</li><li>9</li><li>10</li><li>11</li><li>12</li><li>13</li><li>14</li><li>15</li></ul></pre>


<p>生成的表如下:</p>


<p><img src="https://img-blog.csdn.net/20161021210533393" alt="这里写图片描述" title=""></p>


<hr>






<h5 id="下游项目"><a name="t1" target="_blank"></a>下游项目</h5>


<p>Mermaid 是由Knut Sveidqbist发起旨在轻便化的文档撰写。所有开发者:<a href="https://github.com/knsv/mermaid/graphs/contributors" target="_blank">开发者列表</a></p>


<ul>
<li><a href="https://github.com/JozoVilcek/gitbook-plugin-mermaid" target="_blank">Gitbook-plugin</a></li>
<li><a href="http://lighttable.com/" target="_blank">Light table</a></li>
<li><a href="https://marketplace.atlassian.com/plugins/org.anvard.atlassian.mermaid-plugin/server/overview" target="_blank">Confluence plugin</a></li>
<li><a href="http://nauvalatmaja.com/2015/01/13/rendering-mermaid-in-docpad/" target="_blank">Using mermaid via docpad</a></li>
<li><a href="https://rubygems.org/gems/jekyll-mermaid/versions/1.0.0" target="_blank">Using mermaid in Jekvll</a></li>
<li><a href="http://mostlyblather.com/blog/2015/05/23/mermaid-jekyll-octopress/" target="_blank">Using mermaid via Octopress</a></li>
<li><a href="http://pad.haroopress.com/user.html" target="_blank">Mardown editor Haroopad</a></li>
<li><a href="https://atom.io/packages/atom-mermaid" target="_blank">Plugin for atom</a></li>
<li><a href="http://mdp.tylingsoft.com/" target="_blank">Markdown Plus</a></li>
<li><a href="http://lightpaper.42squares.in/" target="_blank">LightPaper 1.2+</a></li>
<li><a href="https://github.com/kannokanno/previm" target="_blank">Vim Plugin</a> <br>
以上的这些都有集成mermaid或者开发相关的插件。</li>
</ul>






<h4 id="graph"><a name="t2" target="_blank"></a>Graph</h4>






<pre class="prettyprint" name="code"><code class="hljs brainfuck has-numbering"><span class="hljs-comment">graph</span> <span class="hljs-comment">LR</span>
    <span class="hljs-comment">A</span> <span class="hljs-literal">-</span><span class="hljs-literal">-</span>&gt; <span class="hljs-comment">B</span></code><ul class="pre-numbering" style=""><li>1</li><li>2</li></ul></pre>


<p><img src="https://img-blog.csdn.net/20161021210608758" alt="这里写图片描述" title=""> <br>
这是申明一个由左到右,水平向右的图。\ <br>
可能方向有: <br>
- TB - top bottom <br>
- BT - bottom top <br>
- RL - right left <br>
- LR - left right <br>
- TD - same as TB</p>


<hr>






<h4 id="节点与形状"><a name="t3" target="_blank"></a>节点与形状</h4>






<h6 id="默认节点"><a name="t4" target="_blank"></a>默认节点</h6>


<blockquote>
  <p>graph LR <br>
  id1</p>
</blockquote>


<p><img src="https://img-blog.csdn.net/20161021211609945" alt="  " title=""> <br>
注意:’id’显示在节点内部。</p>






<h6 id="文本节点"><a name="t5" target="_blank"></a>文本节点</h6>


<p><img src="https://img-blog.csdn.net/20161021234031220" alt="这里写图片描述" title=""></p>






<pre class="prettyprint" name="code"><code class="hljs applescript has-numbering">graph LR
<span class="hljs-property">id</span>[This <span class="hljs-keyword">is</span> <span class="hljs-keyword">the</span> <span class="hljs-type">text</span> <span class="hljs-keyword">in</span> <span class="hljs-keyword">the</span> box];</code><ul class="pre-numbering" style=""><li>1</li><li>2</li></ul></pre>






<h6 id="圆角节点"><a name="t6" target="_blank"></a>圆角节点</h6>


<p><img src="https://img-blog.csdn.net/20161021234142456" alt="这里写图片描述" title=""></p>






<pre class="prettyprint" name="code"><code class="hljs applescript has-numbering">graph LR
<span class="hljs-property">id</span>(This <span class="hljs-keyword">is</span> <span class="hljs-keyword">the</span> <span class="hljs-type">text</span> <span class="hljs-keyword">in</span> <span class="hljs-keyword">the</span> box);</code><ul class="pre-numbering" style=""><li>1</li><li>2</li></ul></pre>






<h6 id="圆节点the-form-of-a-circle"><a name="t7" target="_blank"></a>圆节点(The form of a circle)</h6>


<p><img src="https://img-blog.csdn.net/20161021234523829" alt="这里写图片描述" title=""></p>






<pre class="prettyprint" name="code"><code class="hljs applescript has-numbering">graph LR
<span class="hljs-property">id</span>((This <span class="hljs-keyword">is</span> <span class="hljs-keyword">the</span> <span class="hljs-type">text</span> <span class="hljs-keyword">in</span> <span class="hljs-keyword">the</span> circle));</code><ul class="pre-numbering" style=""><li>1</li><li>2</li></ul></pre>






<h6 id="非对称节点asymetric-shape"><a name="t8" target="_blank"></a>非对称节点(asymetric shape)</h6>


<p><img src="https://img-blog.csdn.net/20161021234543595" alt="这里写图片描述" title=""></p>






<pre class="prettyprint" name="code"><code class="hljs applescript has-numbering">graph LR
<span class="hljs-property">id</span>&gt;This <span class="hljs-keyword">is</span> <span class="hljs-keyword">the</span> <span class="hljs-type">text</span> <span class="hljs-keyword">in</span> <span class="hljs-keyword">the</span> box]</code><ul class="pre-numbering" style=""><li>1</li><li>2</li></ul></pre>






<h6 id="菱形节点rhombus"><a name="t9" target="_blank"></a>菱形节点(rhombus)</h6>


<p><img src="https://img-blog.csdn.net/20161021234607369" alt="这里写图片描述" title=""></p>






<pre class="prettyprint" name="code"><code class="hljs applescript has-numbering">graph LR
<span class="hljs-property">id</span>{This <span class="hljs-keyword">is</span> <span class="hljs-keyword">the</span> <span class="hljs-type">text</span> <span class="hljs-keyword">in</span> <span class="hljs-keyword">the</span> box}</code><ul class="pre-numbering" style=""><li>1</li><li>2</li></ul></pre>


<hr>






<h4 id="连接线"><a name="t10" target="_blank"></a>连接线</h4>


<p>节点间的连接线有多种形状,而且可以在连接线中加入标签:</p>






<h6 id="箭头形连接"><a name="t11" target="_blank"></a>箭头形连接</h6>


<p><img src="https://img-blog.csdn.net/20161021235256658" alt="这里写图片描述" title=""></p>






<pre class="prettyprint" name="code"><code class="hljs brainfuck has-numbering"><span class="hljs-comment">graph</span> <span class="hljs-comment">LR;</span>
  <span class="hljs-comment">A</span><span class="hljs-literal">-</span><span class="hljs-literal">-</span>&gt;<span class="hljs-comment">B;</span></code><ul class="pre-numbering" style=""><li>1</li><li>2</li></ul></pre>






<h6 id="开放行连接"><a name="t12" target="_blank"></a>开放行连接</h6>


<p><img src="https://img-blog.csdn.net/20161021235317799" alt="" title=""></p>






<pre class="prettyprint" name="code"><code class="hljs brainfuck has-numbering"><span class="hljs-comment">graph</span> <span class="hljs-comment">LR</span>
<span class="hljs-comment">A</span> <span class="hljs-literal">-</span><span class="hljs-literal">-</span><span class="hljs-literal">-</span> <span class="hljs-comment">B</span></code><ul class="pre-numbering" style=""><li>1</li><li>2</li></ul></pre>






<h6 id="标签连接"><a name="t13" target="_blank"></a>标签连接</h6>


<p><img src="https://img-blog.csdn.net/20161021235357770" alt="这里写图片描述" title=""></p>






<pre class="prettyprint" name="code"><code class="hljs brainfuck has-numbering"><span class="hljs-comment">graph</span> <span class="hljs-comment">LR</span>
<span class="hljs-comment">A</span> <span class="hljs-literal">-</span><span class="hljs-literal">-</span> <span class="hljs-comment">This</span> <span class="hljs-comment">is</span> <span class="hljs-comment">the</span> <span class="hljs-comment">label</span> <span class="hljs-comment">text</span> <span class="hljs-literal">-</span><span class="hljs-literal">-</span><span class="hljs-literal">-</span> <span class="hljs-comment">B;</span></code><ul class="pre-numbering" style=""><li>1</li><li>2</li></ul></pre>






<h6 id="箭头标签连接"><a name="t14" target="_blank"></a>箭头标签连接</h6>


<blockquote>
  <p>A–&gt;|text|B\ <br>
  或者\ <br>
  A– text –&gt;B</p>
</blockquote>


<p><img src="https://img-blog.csdn.net/20161022000831696" alt="这里写图片描述" title=""></p>






<pre class="prettyprint" name="code"><code class="hljs brainfuck has-numbering"><span class="hljs-comment">graph</span> <span class="hljs-comment">LR</span>
 <span class="hljs-comment">A</span><span class="hljs-literal">-</span><span class="hljs-literal">-</span> <span class="hljs-comment">text</span> <span class="hljs-literal">-</span><span class="hljs-literal">-</span>&gt;<span class="hljs-comment">B</span></code><ul class="pre-numbering" style=""><li>1</li><li>2</li></ul></pre>






<h6 id="虚线dotted-link点连线"><a name="t15" target="_blank"></a>虚线(dotted link,点连线)</h6>


<blockquote>
  <p>-.-&gt;</p>
</blockquote>


<p><img src="https://img-blog.csdn.net/20161022000926713" alt="这里写图片描述" title=""></p>






<pre class="prettyprint" name="code"><code class="hljs haskell has-numbering"><span class="hljs-title">graph</span> <span class="hljs-type">LR</span>
<span class="hljs-type">A</span>-.-&gt;<span class="hljs-type">B</span></code><ul class="pre-numbering" style=""><li>1</li><li>2</li></ul></pre>


<blockquote>
  <p>-.-.</p>
</blockquote>


<p><img src="https://img-blog.csdn.net/20161022000949275" alt="这里写图片描述" title=""></p>






<pre class="prettyprint" name="code"><code class="hljs autohotkey has-numbering">graph LR
<span class="hljs-literal">A</span>-.-.B</code><ul class="pre-numbering" style=""><li>1</li><li>2</li></ul></pre>






<h6 id="标签虚线"><a name="t16" target="_blank"></a>标签虚线</h6>


<blockquote>
  <p>-.text.-&gt;</p>
</blockquote>






<pre class="prettyprint" name="code"><code class="hljs haskell has-numbering"><span class="hljs-title">graph</span> <span class="hljs-type">LR</span>
<span class="hljs-type">A</span>-.text.-&gt;<span class="hljs-type">B</span></code><ul class="pre-numbering" style=""><li>1</li><li>2</li></ul></pre>


<p><img src="https://img-blog.csdn.net/20161022001052183" alt="这里写图片描述" title=""></p>






<h6 id="粗实线"><a name="t17" target="_blank"></a>粗实线</h6>


<blockquote>
  <p>==&gt;</p>
</blockquote>






<pre class="prettyprint" name="code"><code class="hljs fix has-numbering"><span class="hljs-attribute">graph LR
A=</span>=<span class="hljs-string">&gt;B</span></code><ul class="pre-numbering" style=""><li>1</li><li>2</li></ul></pre>


<p><img src="https://img-blog.csdn.net/20161022001112761" alt="这里写图片描述" title=""></p>


<blockquote>
  <p>===</p>
</blockquote>






<pre class="prettyprint" name="code"><code class="hljs fix has-numbering"><span class="hljs-attribute">graph LR
A==</span>=<span class="hljs-string">B</span></code><ul class="pre-numbering" style=""><li>1</li><li>2</li></ul></pre>


<p><img src="https://img-blog.csdn.net/20161022001206902" alt="这里写图片描述" title=""></p>






<h6 id="标签粗线"><a name="t18" target="_blank"></a>标签粗线</h6>


<blockquote>
  <p>=\=text\==&gt;</p>
</blockquote>






<pre class="prettyprint" name="code"><code class="hljs fix has-numbering"><span class="hljs-attribute">graph LR
A=</span>=<span class="hljs-string">text==&gt;B</span></code><ul class="pre-numbering" style=""><li>1</li><li>2</li></ul></pre>


<p><img src="https://img-blog.csdn.net/20161022001232918" alt="这里写图片描述" title=""></p>


<blockquote>
  <p>=\=text\===</p>
</blockquote>






<pre class="prettyprint" name="code"><code class="hljs fix has-numbering"><span class="hljs-attribute">graph LR
A=</span>=<span class="hljs-string">text===B</span></code><ul class="pre-numbering" style=""><li>1</li><li>2</li></ul></pre>


<p><img src="https://img-blog.csdn.net/20161022001257074" alt="这里写图片描述" title=""></p>


<hr>






<h4 id="特殊的语法"><a name="t19" target="_blank"></a>特殊的语法</h4>






<h5 id="使用引号可以抑制一些特殊的字符的使用可以避免一些不必要的麻烦"><a name="t20" target="_blank"></a>使用引号可以抑制一些特殊的字符的使用,可以避免一些不必要的麻烦。</h5>


<blockquote>
  <p>graph LR\ <br>
    d1[“This is the (text) in the box”]</p>
</blockquote>






<pre class="prettyprint" name="code"><code class="hljs mizar has-numbering">graph LR
d1["This <span class="hljs-keyword">is</span> the (text) <span class="hljs-keyword">in</span> the box"]</code><ul class="pre-numbering" style=""><li>1</li><li>2</li></ul></pre>


<p><img src="https://img-blog.csdn.net/20161022001504435" alt="这里写图片描述" title=""></p>






<h5 id="html字符的转义字符"><a name="t21" target="_blank"></a>html字符的转义字符</h5>


<p>转义字符的使用语法: <br>
流程图定义如下:</p>


<blockquote>
  <p>graph LR\ <br>
          A[“A double quote:#quot;”] –&gt; B[“A dec char:#9829;”]</p>
</blockquote>


<p>渲染后的图如下: <br>
<img src="https://img-blog.csdn.net/20161022001541200" alt="这里写图片描述" title=""></p>






<pre class="prettyprint" name="code"><code class="hljs autohotkey has-numbering">graph LR
        <span class="hljs-literal">A</span>[<span class="hljs-string">"A double quote:#quot;"</span>]--&gt;B[<span class="hljs-string">"A dec char:#9829;"</span>]</code><ul class="pre-numbering" style=""><li>1</li><li>2</li></ul></pre>






<h4 id="子图subgraphs"><a name="t22" target="_blank"></a>子图(Subgraphs)</h4>


<blockquote>
  <p>subgraph title\ <br>
        graph definition\ <br>
    end</p>
</blockquote>


<p>示例:</p>






<pre class="prettyprint" name="code"><code class="language-{mermaid} hljs livecodeserver has-numbering">graph TB
        subgraph <span class="hljs-constant">one</span>
        a1 <span class="hljs-comment">--&gt; a2</span>
        en
        subgraph <span class="hljs-constant">two</span>
        b2 <span class="hljs-comment">--&gt; b2</span>
        <span class="hljs-function"><span class="hljs-keyword">end</span></span>
        subgraph <span class="hljs-constant">three</span>
        c1 <span class="hljs-comment">--&gt; c2</span>
        <span class="hljs-function"><span class="hljs-keyword">end</span></span>
        c1 <span class="hljs-comment">--&gt; a2</span></code><ul class="pre-numbering" style=""><li>1</li><li>2</li><li>3</li><li>4</li><li>5</li><li>6</li><li>7</li><li>8</li><li>9</li><li>10</li><li>11</li></ul></pre>


<p>结果:</p>


<p><img src="https://img-blog.csdn.net/20161022001631207" alt="这里写图片描述" title=""></p>






<h4 id="基础fontawesome支持"><a name="t23" target="_blank"></a>基础fontawesome支持</h4>


<p>如果想加入来自frontawesome的图表字体,需要像frontawesome网站上那样引用的那样。\ <br>
详情请点击:<a href="http://fontawesome.io/" target="_blank">fontawdsome</a></p>


<p>引用的语法为:++fa:#icon class name#++</p>






<pre class="prettyprint" name="code"><code class="language-{mermaid} hljs lua has-numbering">graph TD
      B[<span class="hljs-string">"fa:fa-twitter for peace"</span>]
      B<span class="hljs-comment">--&gt;C[fa:fa-ban forbidden]</span>
      B<span class="hljs-comment">--&gt;D(fa:fa-spinner);</span>
      B<span class="hljs-comment">--&gt;E(A fa:fa-camerra-retro perhaps?);</span></code><ul class="pre-numbering" style=""><li>1</li><li>2</li><li>3</li><li>4</li><li>5</li></ul></pre>


<p>渲染图如下:</p>






<pre class="prettyprint" name="code"><code class="hljs lua has-numbering">graph TD
      B[<span class="hljs-string">"fa:fa-twitter for peace"</span>]
      B<span class="hljs-comment">--&gt;C[fa:fa-ban forbidden]</span>
      B<span class="hljs-comment">--&gt;D(fa:fa-spinner);</span>
      B<span class="hljs-comment">--&gt;E(A fa:fa-camera-retro perhaps?);</span></code><ul class="pre-numbering" style=""><li>1</li><li>2</li><li>3</li><li>4</li><li>5</li></ul></pre>


<p><img src="https://img-blog.csdn.net/20161022001648160" alt="这里写图片描述" title=""></p>


<p>以上reference: <br>
    1.<a href="https://knsv.github.io/mermaid/#initialization" target="_blank">mermaid docs</a></p>


<hr>






<h3 id="第二部分图表graph"><a name="t24" target="_blank"></a>第二部分—图表(graph)</h3>


<hr>






<h5 id="定义连接线的样式"><a name="t25" target="_blank"></a>定义连接线的样式</h5>






<pre class="prettyprint" name="code"><code class="language-{mermaid} hljs scss has-numbering">graph LR
     <span class="hljs-function">id1(Start)</span>--&gt;<span class="hljs-function">id2(Stop)</span>
     <span class="hljs-tag">style</span> id1 fill<span class="hljs-value">:<span class="hljs-hexcolor">#f9f</span>,stroke:<span class="hljs-hexcolor">#333</span>,stroke-width:<span class="hljs-number">4</span>px;</span>
     <span class="hljs-tag">style</span> id2 fill<span class="hljs-value">:<span class="hljs-hexcolor">#ccf</span>,stroke:<span class="hljs-hexcolor">#f66</span>,stroke-width:<span class="hljs-number">2</span>px,stroke-dasharray:<span class="hljs-number">5</span>,<span class="hljs-number">5</span>;</span></code><ul class="pre-numbering" style=""><li>1</li><li>2</li><li>3</li><li>4</li></ul></pre>


<p>渲染结果:</p>


<p><img src="https://img-blog.csdn.net/20161022002151244" alt="这里写图片描述" title=""></p>






<pre class="prettyprint" name="code"><code class="hljs scss has-numbering">graph LR
     <span class="hljs-function">id1(Start)</span>--&gt;<span class="hljs-function">id2(Stop)</span>
     <span class="hljs-tag">style</span> id1 fill<span class="hljs-value">:<span class="hljs-hexcolor">#f9f</span>,stroke:<span class="hljs-hexcolor">#333</span>,stroke-width:<span class="hljs-number">4</span>px;</span>
     <span class="hljs-tag">style</span> id2 fill<span class="hljs-value">:<span class="hljs-hexcolor">#ccf</span>,stroke:<span class="hljs-hexcolor">#f66</span>,stroke-width:<span class="hljs-number">2</span>px,stroke-dasharray:<span class="hljs-number">5</span>,<span class="hljs-number">5</span>;</span></code><ul class="pre-numbering" style=""><li>1</li><li>2</li><li>3</li><li>4</li></ul></pre>


<p>备注:这些样式参考CSS样式。</p>






<h5 id="样式类"><a name="t26" target="_blank"></a>样式类</h5>


<p>为了方便样式的使用,可以定义类来使用样式 <br>
类的定义示例:</p>






<pre class="prettyprint" name="code"><code class="hljs css has-numbering"><span class="hljs-tag">classDef</span> <span class="hljs-tag">className</span> <span class="hljs-tag">fill</span>:<span class="hljs-id">#f9f</span>,<span class="hljs-tag">stroke</span>:<span class="hljs-id">#333</span>,<span class="hljs-tag">stroke-width</span><span class="hljs-pseudo">:4px</span>;</code><ul class="pre-numbering" style=""><li>1</li></ul></pre>


<p>对节点使用样式类:</p>






<pre class="prettyprint" name="code"><code class="hljs ruby has-numbering"><span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">nodeId</span> <span class="hljs-title">className</span>;</span></code><ul class="pre-numbering" style=""><li>1</li></ul></pre>


<p>同时对多个节点使用相同的样式类:</p>






<pre class="prettyprint" name="code"><code class="hljs ruby has-numbering"><span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">nodeId1</span>,<span class="hljs-title">nodeId2</span> <span class="hljs-title">className</span>;</span></code><ul class="pre-numbering" style=""><li>1</li></ul></pre>


<p>可以在CSS中提前定义样式类,应用在图表的定义中。</p>






<pre class="prettyprint" name="code"><code class="language-{mermaid} hljs coffeescript has-numbering">graph LR
      A-<span class="hljs-function">-&gt;</span>B[AAABBB];
      B-<span class="hljs-function">-&gt;</span>D;
      <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">A</span> <span class="hljs-title">cssClass</span>;</span></code><ul class="pre-numbering" style=""><li>1</li><li>2</li><li>3</li><li>4</li></ul></pre>


<p>默认样式类:\ <br>
当没有指定样式的时候,默认采用。</p>






<pre class="prettyprint" name="code"><code class="hljs scss has-numbering">classDef <span class="hljs-value">default</span> fill<span class="hljs-value">:<span class="hljs-hexcolor">#f9f</span>,stroke:<span class="hljs-hexcolor">#333</span>,stroke-width:<span class="hljs-number">4</span>px;</span></code><ul class="pre-numbering" style=""><li>1</li></ul></pre>


<p>示例:</p>






<pre class="prettyprint" name="code"><code class="language-{mermaid} hljs scss has-numbering">graph LR
    classDef <span class="hljs-value">default</span> fill<span class="hljs-value">:<span class="hljs-hexcolor">#f90</span>,stroke:<span class="hljs-hexcolor">#555</span>,stroke-width:<span class="hljs-number">4</span>px;</span>
    <span class="hljs-function">id1(Start)</span>--&gt;<span class="hljs-function">id2(Stop)</span></code><ul class="pre-numbering" style=""><li>1</li><li>2</li><li>3</li></ul></pre>


<p>结果:</p>






<pre class="prettyprint" name="code"><code class="hljs scss has-numbering">graph LR
classDef <span class="hljs-value">default</span> fill<span class="hljs-value">:<span class="hljs-hexcolor">#f90</span>,stroke:<span class="hljs-hexcolor">#555</span>,stroke-width:<span class="hljs-number">4</span>px;</span>
<span class="hljs-function">id1(Start)</span>--&gt;<span class="hljs-function">id2(Stop)</span></code><ul class="pre-numbering" style=""><li>1</li><li>2</li><li>3</li></ul></pre>






<h2 id="title"><a name="t27" target="_blank"></a><img src="https://img-blog.csdn.net/20161022002223062" alt="这里写图片描述" title=""></h2>






<h3 id="序列图sequence-diagram1"><a name="t28" target="_blank"></a>序列图(sequence diagram)<a href="#fn:sequence" id="fnref:sequence" title="See footnote" class="footnote" target="_blank">1</a></h3>


<p><a href="https://en.wikipedia.org/wiki/Unified_Modeling_Language#Interaction_diagrams" target="_blank">序列图</a></p>


<p>示例:</p>






<pre class="prettyprint" name="code"><code class="language-{mermaid} hljs erlang-repl has-numbering"><span class="hljs-function_or_atom">sequenceDiagram</span>
  <span class="hljs-variable">Alice</span><span class="hljs-arrow">-&gt;</span>&gt;<span class="hljs-variable">John</span>: <span class="hljs-variable">Hello</span> <span class="hljs-variable">John</span>, <span class="hljs-function_or_atom">how</span> <span class="hljs-function_or_atom">are</span> <span class="hljs-function_or_atom">you</span> ?
  <span class="hljs-variable">John</span>-<span class="hljs-arrow">-&gt;</span>&gt;<span class="hljs-variable">Alice</span>: <span class="hljs-variable">Great</span><span class="hljs-exclamation_mark">!</span>
  <span class="hljs-variable">Alice</span>--<span class="hljs-arrow">-&gt;</span>&gt;<span class="hljs-variable">John</span>: <span class="hljs-variable">Huang</span>,<span class="hljs-function_or_atom">you</span> <span class="hljs-function_or_atom">are</span> <span class="hljs-function_or_atom">better</span> .
  <span class="hljs-variable">John</span>-<span class="hljs-arrow">-&gt;</span>&gt;<span class="hljs-variable">Alice</span>: <span class="hljs-function_or_atom">yeah</span>, <span class="hljs-variable">Just</span> <span class="hljs-function_or_atom">not</span> <span class="hljs-function_or_atom">bad</span>.</code><ul class="pre-numbering" style=""><li>1</li><li>2</li><li>3</li><li>4</li><li>5</li></ul></pre>






<pre class="prettyprint" name="code"><code class="hljs erlang-repl has-numbering"><span class="hljs-function_or_atom">sequenceDiagram</span>
  <span class="hljs-variable">Alice</span><span class="hljs-arrow">-&gt;</span>&gt;<span class="hljs-variable">John</span>: <span class="hljs-variable">Hello</span> <span class="hljs-variable">John</span>, <span class="hljs-function_or_atom">how</span> <span class="hljs-function_or_atom">are</span> <span class="hljs-function_or_atom">you</span> ?
  <span class="hljs-variable">John</span>-<span class="hljs-arrow">-&gt;</span>&gt;<span class="hljs-variable">Alice</span>: <span class="hljs-variable">Great</span><span class="hljs-exclamation_mark">!</span>
  <span class="hljs-variable">Alice</span><span class="hljs-arrow">-&gt;</span>&gt;<span class="hljs-variable">John</span>: <span class="hljs-variable">Hung</span>,<span class="hljs-function_or_atom">you</span> <span class="hljs-function_or_atom">are</span> <span class="hljs-function_or_atom">better</span> .
  <span class="hljs-variable">John</span>-<span class="hljs-arrow">-&gt;</span>&gt;<span class="hljs-variable">Alice</span>: <span class="hljs-function_or_atom">yeah</span>, <span class="hljs-variable">Just</span> <span class="hljs-function_or_atom">not</span> <span class="hljs-function_or_atom">bad</span>.</code><ul class="pre-numbering" style=""><li>1</li><li>2</li><li>3</li><li>4</li><li>5</li></ul></pre>


<p><img src="https://img-blog.csdn.net/20161022002549453" alt="这里写图片描述" title=""> <br>
观察上面的图,如果想让John出现在前面,如何控制,mermaid通过设定参与者(participants)的顺序控制二者的顺序。上面的图可以做如下修改:</p>


<blockquote>
  <p>sequenceDiagram\ <br>
    <strong>participant John</strong>\ <br>
    <strong>participant Alice</strong>\ <br>
    Alice-&gt;&gt;John:Hello John,how are you?\ <br>
    John–&gt;&gt;Alice:Great!</p>
</blockquote>






<pre class="prettyprint" name="code"><code class="hljs css has-numbering"><span class="hljs-tag">sequenceDiagram</span>
  <span class="hljs-tag">participant</span> <span class="hljs-tag">John</span>
  <span class="hljs-tag">participant</span> <span class="hljs-tag">Alice</span>
  <span class="hljs-tag">Alice-xJohn</span><span class="hljs-pseudo">:Hello</span> <span class="hljs-tag">John</span>,<span class="hljs-tag">how</span> <span class="hljs-tag">are</span> <span class="hljs-tag">you</span>?
  <span class="hljs-tag">John--</span>&gt;&gt;<span class="hljs-tag">Alice</span><span class="hljs-pseudo">:Great</span>!</code><ul class="pre-numbering" style=""><li>1</li><li>2</li><li>3</li><li>4</li><li>5</li></ul></pre>


<p><img src="https://img-blog.csdn.net/20161022002612798" alt="这里写图片描述" title=""> <br>
消息的语法: <br>
  实线或者虚线的使用: <br>
[Actor][Arrow][Actor]:Message text\ <br>
Arrow的六种样式:</p>


<ul>
<li>-&gt;</li>
<li>–&gt;</li>
<li>-&gt;&gt;</li>
<li>–&gt;&gt;</li>
<li>-x</li>
<li>–x</li>
</ul>


<p>示例:</p>






<pre class="prettyprint" name="code"><code class="hljs erlang-repl has-numbering"><span class="hljs-function_or_atom">sequenceDiagram</span>
    <span class="hljs-variable">Alice</span><span class="hljs-arrow">-&gt;</span><span class="hljs-variable">John</span>: <span class="hljs-variable">Hello</span> <span class="hljs-variable">John</span>, <span class="hljs-function_or_atom">how</span> <span class="hljs-function_or_atom">are</span> <span class="hljs-function_or_atom">you</span> ?
    <span class="hljs-variable">John</span>-<span class="hljs-arrow">-&gt;</span><span class="hljs-variable">Alice</span>:<span class="hljs-variable">Great</span><span class="hljs-exclamation_mark">!</span>
    <span class="hljs-variable">Alice</span><span class="hljs-arrow">-&gt;</span>&gt;<span class="hljs-variable">John</span>: <span class="hljs-function_or_atom">dont</span> <span class="hljs-function_or_atom">borther</span> <span class="hljs-function_or_atom">me</span> <span class="hljs-exclamation_mark">!</span>
    <span class="hljs-variable">John</span>-<span class="hljs-arrow">-&gt;</span>&gt;<span class="hljs-variable">Alice</span>:<span class="hljs-variable">Great</span><span class="hljs-exclamation_mark">!</span>
    <span class="hljs-variable">Alice</span>-<span class="hljs-function_or_atom">xJohn</span>: <span class="hljs-function_or_atom">wait</span><span class="hljs-exclamation_mark">!</span>
    <span class="hljs-variable">John</span>--<span class="hljs-function_or_atom">xAlice</span>: <span class="hljs-variable">Ok</span><span class="hljs-exclamation_mark">!</span></code><ul class="pre-numbering" style=""><li>1</li><li>2</li><li>3</li><li>4</li><li>5</li><li>6</li><li>7</li></ul></pre>


<p><img src="https://img-blog.csdn.net/20161022002857083" alt="这里写图片描述" title=""></p>






<h5 id="便签"><a name="t29" target="_blank"></a>便签</h5>


<p>给序列图增加便签:\ <br>
具体规则:\ <br>
<code>[right of | left of | over][Actor]:Text</code>\ <br>
示例:</p>






<pre class="prettyprint" name="code"><code class="language-{mermaid} hljs vbnet has-numbering">sequenceDiagram
  participant John
  Note left <span class="hljs-keyword">of</span> John: <span class="hljs-keyword">Text</span> <span class="hljs-keyword">in</span> note</code><ul class="pre-numbering" style=""><li>1</li><li>2</li><li>3</li></ul></pre>


<p>结果:</p>


<p><img src="https://img-blog.csdn.net/20161022002928022" alt="这里写图片描述" title=""></p>


<p>跨越两个Actor的便签:</p>






<pre class="prettyprint" name="code"><code class="language-{mermaid} hljs ruby has-numbering">sequenceDiagram
  <span class="hljs-constant">Alice</span>-&gt;<span class="hljs-constant">John</span><span class="hljs-symbol">:Hello</span> <span class="hljs-constant">John</span>, how are you?
  <span class="hljs-constant">Note</span> over <span class="hljs-constant">Alice</span>,<span class="hljs-constant">John</span><span class="hljs-symbol">:A</span> typical interaction</code><ul class="pre-numbering" style=""><li>1</li><li>2</li><li>3</li></ul></pre>






<pre class="prettyprint" name="code"><code class="hljs ruby has-numbering">sequenceDiagram
<span class="hljs-constant">Alice</span>-&gt;&gt;<span class="hljs-constant">John</span><span class="hljs-symbol">:Hello</span> <span class="hljs-constant">John</span>, how are you?
<span class="hljs-constant">Note</span> over <span class="hljs-constant">Alice</span>,<span class="hljs-constant">John</span><span class="hljs-symbol">:A</span> typical interaction</code><ul class="pre-numbering" style=""><li>1</li><li>2</li><li>3</li></ul></pre>


<p><img src="https://img-blog.csdn.net/20161022003002159" alt="这里写图片描述" title=""></p>






<h5 id="循环loops"><a name="t30" target="_blank"></a>循环Loops</h5>


<p>在序列图中,也可以使用循环,具体规则如下:</p>






<pre class="prettyprint" name="code"><code class="language-{mermaid} hljs r has-numbering">loop Loop text
<span class="hljs-keyword">...</span> statements...
end</code><ul class="pre-numbering" style=""><li>1</li><li>2</li><li>3</li></ul></pre>


<p>示例:</p>






<pre class="prettyprint" name="code"><code class="language-{mermaid} hljs erlang-repl has-numbering"><span class="hljs-function_or_atom">sequenceDiagram</span>
  <span class="hljs-variable">Alice</span><span class="hljs-arrow">-&gt;</span>&gt;<span class="hljs-variable">John</span>: <span class="hljs-variable">Hello</span><span class="hljs-exclamation_mark">!</span>
  <span class="hljs-function_or_atom">loop</span> <span class="hljs-variable">Reply</span> <span class="hljs-function_or_atom">every</span> <span class="hljs-function_or_atom">minute</span>
    <span class="hljs-variable">John</span><span class="hljs-arrow">-&gt;</span>&gt;<span class="hljs-variable">Alice</span>:<span class="hljs-variable">Great</span><span class="hljs-exclamation_mark">!</span>
  <span class="hljs-function_or_atom">end</span></code><ul class="pre-numbering" style=""><li>1</li><li>2</li><li>3</li><li>4</li><li>5</li></ul></pre>


<p>渲染结果:</p>


<p><img src="https://img-blog.csdn.net/20161022003209222" alt="这里写图片描述" title=""></p>






<h5 id="选择alt"><a name="t31" target="_blank"></a>选择ALT</h5>


<p>在序列图中选择的表达。规则如下:</p>






<pre class="prettyprint" name="code"><code class="language-{mermaid} hljs lasso has-numbering">alt Describing text
<span class="hljs-attribute">...</span>statements<span class="hljs-attribute">...</span>
<span class="hljs-keyword">else</span>
<span class="hljs-attribute">...</span>statements<span class="hljs-attribute">...</span>
end</code><ul class="pre-numbering" style=""><li>1</li><li>2</li><li>3</li><li>4</li><li>5</li></ul></pre>


<p>或者使用opt(推荐在没有else的情况下使用)</p>






<pre class="prettyprint" name="code"><code class="language-{mermaid} hljs livecodeserver has-numbering">opt Describing <span class="hljs-keyword">text</span>
...statements...
<span class="hljs-function"><span class="hljs-keyword">end</span></span></code><ul class="pre-numbering" style=""><li>1</li><li>2</li><li>3</li></ul></pre>


<p>示例:</p>






<pre class="prettyprint" name="code"><code class="language-{mermaid} hljs livecodeserver has-numbering">sequenceDiagram
  Alice-&gt;&gt;Bob: Hello Bob, how are you?
  alt is sick
    Bob-&gt;&gt;Alice:<span class="hljs-operator">not</span> so good :(
  <span class="hljs-keyword">else</span> is well
    Bob-&gt;&gt;Alice:Feeling fresh like <span class="hljs-operator">a</span> daisy:)
  <span class="hljs-function"><span class="hljs-keyword">end</span></span>
  opt Extra response
    Bob-&gt;&gt;Alice:Thanks <span class="hljs-keyword">for</span> asking
  <span class="hljs-function"><span class="hljs-keyword">end</span></span></code><ul class="pre-numbering" style=""><li>1</li><li>2</li><li>3</li><li>4</li><li>5</li><li>6</li><li>7</li><li>8</li><li>9</li><li>10</li></ul></pre>


<p>渲染结果如下:</p>


<p><img src="https://img-blog.csdn.net/20161022003252848" alt="这里写图片描述" title=""></p>


<hr>






<h3 id="甘特图gantt2"><a name="t32" target="_blank"></a>甘特图(gantt)<a href="#fn:gantt" id="fnref:gantt" title="See footnote" class="footnote" target="_blank">2</a></h3>


<p>甘特图是一类条形图,由Karol Adamiechi在1896年提出, 而在1910年Henry Gantt也独立的提出了此种图形表示。通常用在对项目终端元素和总结元素的开始及完成时间进行的描述。</p>


<p>示例:</p>






<pre class="prettyprint" name="code"><code class="language-{python} hljs avrasm has-numbering">gantt
dateFormat YYYY-MM-DD


section S1
<span class="hljs-label">T1:</span> <span class="hljs-number">2014</span>-<span class="hljs-number">01</span>-<span class="hljs-number">01</span>, <span class="hljs-number">9</span>d


section S2
<span class="hljs-label">T2:</span> <span class="hljs-number">2014</span>-<span class="hljs-number">01</span>-<span class="hljs-number">11</span>, <span class="hljs-number">9</span>d


section S3
<span class="hljs-label">T3:</span> <span class="hljs-number">2014</span>-<span class="hljs-number">01</span>-<span class="hljs-number">02</span>, <span class="hljs-number">9</span>d</code><ul class="pre-numbering" style=""><li>1</li><li>2</li><li>3</li><li>4</li><li>5</li><li>6</li><li>7</li><li>8</li><li>9</li><li>10</li><li>11</li></ul></pre>






<pre class="prettyprint" name="code"><code class="hljs avrasm has-numbering">gantt
dateFormat YYYY-MM-DD
section S1
<span class="hljs-label">T1:</span> <span class="hljs-number">2014</span>-<span class="hljs-number">01</span>-<span class="hljs-number">01</span>, <span class="hljs-number">9</span>d
section S2
<span class="hljs-label">T2:</span> <span class="hljs-number">2014</span>-<span class="hljs-number">01</span>-<span class="hljs-number">11</span>, <span class="hljs-number">9</span>d
section S3
<span class="hljs-label">T3:</span> <span class="hljs-number">2014</span>-<span class="hljs-number">01</span>-<span class="hljs-number">02</span>, <span class="hljs-number">9</span>d</code><ul class="pre-numbering" style=""><li>1</li><li>2</li><li>3</li><li>4</li><li>5</li><li>6</li><li>7</li><li>8</li></ul></pre>


<p><img src="https://img-blog.csdn.net/20161022003521420" alt="这里写图片描述" title=""></p>


<p>先来看一个大的例子:</p>






<pre class="prettyprint" name="code"><code class="language-{mermaid} hljs sql has-numbering">    gantt
    dateFormat  YYYY-MM-DD
    title Adding GANTT diagram functionality to mermaid


    section A section
    Completed task            :done,    des1, 2014-01-06,2014-01-08
    Active task               :active,  des2, 2014-01-09, 3d
    Future task               :         des3, after des2, 5d
    Future task2               :         des4, after des3, 5d


    section Critical tasks
    Completed task in the critical line :crit, done, 2014-01-06,24h
    Implement parser and jison          :crit, done, after des1, 2d
    <span class="hljs-operator"><span class="hljs-keyword">Create</span> tests <span class="hljs-keyword">for</span> parser             :crit, active, <span class="hljs-number">3</span>d
    Future task <span class="hljs-keyword">in</span> critical line        :crit, <span class="hljs-number">5</span>d
    <span class="hljs-keyword">Create</span> tests <span class="hljs-keyword">for</span> renderer           :<span class="hljs-number">2</span>d
    <span class="hljs-keyword">Add</span> <span class="hljs-keyword">to</span> mermaid                      :<span class="hljs-number">1</span>d


    <span class="hljs-keyword">section</span> Documentation
    <span class="hljs-keyword">Describe</span> gantt syntax               :active, a1, <span class="hljs-keyword">after</span> des1, <span class="hljs-number">3</span>d
    <span class="hljs-keyword">Add</span> gantt diagram <span class="hljs-keyword">to</span> demo page      :<span class="hljs-keyword">after</span> a1  , <span class="hljs-number">20</span>h
    <span class="hljs-keyword">Add</span> another diagram <span class="hljs-keyword">to</span> demo page    :doc1, <span class="hljs-keyword">after</span> a1  , <span class="hljs-number">48</span>h


    <span class="hljs-keyword">section</span> <span class="hljs-keyword">Last</span> <span class="hljs-keyword">section</span>
    <span class="hljs-keyword">Describe</span> gantt syntax               :<span class="hljs-keyword">after</span> doc1, <span class="hljs-number">3</span>d
    <span class="hljs-keyword">Add</span> gantt diagram <span class="hljs-keyword">to</span> demo page      : <span class="hljs-number">20</span>h
    <span class="hljs-keyword">Add</span> another diagram <span class="hljs-keyword">to</span> demo page    : <span class="hljs-number">48</span>h</span></code><ul class="pre-numbering" style=""><li>1</li><li>2</li><li>3</li><li>4</li><li>5</li><li>6</li><li>7</li><li>8</li><li>9</li><li>10</li><li>11</li><li>12</li><li>13</li><li>14</li><li>15</li><li>16</li><li>17</li><li>18</li><li>19</li><li>20</li><li>21</li><li>22</li><li>23</li><li>24</li><li>25</li><li>26</li><li>27</li></ul></pre>


<p>获得的图渲染后如下: <br>
<img src="https://img-blog.csdn.net/20161022003542911" alt="这里写图片描述" title=""></p>


<table>
<thead>
<tr>
  <th>header 1</th>
  <th>header 2</th>
</tr>
</thead>
<tbody><tr>
  <td>title</td>
  <td>标题</td>
</tr>
<tr>
  <td>dateFormat</td>
  <td>日期格式</td>
</tr>
<tr>
  <td>section</td>
  <td>模块</td>
</tr>
<tr>
  <td>Completed</td>
  <td>已经完成</td>
</tr>
<tr>
  <td>Active</td>
  <td>当前正在进行</td>
</tr>
<tr>
  <td>Future</td>
  <td>后续待处理</td>
</tr>
<tr>
  <td>crit</td>
  <td>关键阶段</td>
</tr>
<tr>
  <td>日期缺失</td>
  <td>默认从上一项完成后</td>
</tr>
</tbody></table>




<p>关于日期的格式可以参考: <br>
- <a href="http://momentjs.com/docs/#/parsing/string-format/" target="_blank">string-format</a> <br>
- <a href="https://github.com/mbostock/d3/wiki/Time-Formatting" target="_blank">Time-Formatting</a></p>






<h3 id="demo"><a name="t33" target="_blank"></a>Demo</h3>






<pre class="prettyprint" name="code"><code class="hljs coffeescript has-numbering">graph TB
    sq[Square shape] -<span class="hljs-function">-&gt;</span> ci((Circle shape))


    subgraph A subgraph
        di{Diamond <span class="hljs-reserved">with</span>  line <span class="hljs-keyword">break</span>} -.<span class="hljs-function">-&gt;</span> ro(Rounded)
        <span class="hljs-function"><span class="hljs-title">di</span>==&gt;</span>ro2(Rounded square shape)
    end


    e -<span class="hljs-function">-&gt;</span> od3&gt;Really long text <span class="hljs-reserved">with</span> linebreak&lt;br&gt;<span class="hljs-keyword">in</span> an Odd shape]


    cyr[Cyrillic]-<span class="hljs-function">-&gt;</span>cyr2((Circle shape Начало));


    classDef green <span class="hljs-attribute">fill</span>:<span class="hljs-comment">#9f6,stroke:#333,stroke-width:2px;</span>
    classDef orange <span class="hljs-attribute">fill</span>:<span class="hljs-comment">#f96,stroke:#333,stroke-width:4px;</span>
    <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">sq</span>,<span class="hljs-title">e</span> <span class="hljs-title">green</span></span>
    <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">di</span> <span class="hljs-title">orange</span></span></code><ul class="pre-numbering" style=""><li>1</li><li>2</li><li>3</li><li>4</li><li>5</li><li>6</li><li>7</li><li>8</li><li>9</li><li>10</li><li>11</li><li>12</li><li>13</li><li>14</li><li>15</li><li>16</li></ul></pre>


<p><img src="https://img-blog.csdn.net/20161022003623677" alt="这里写图片描述" title=""></p>






<h3 id="reference"><a name="t34" target="_blank"></a><strong>reference</strong></h3>


<p><a href="https://knsv.github.io/mermaid/" target="_blank">mermaid docs</a></p>


<hr>


<p>本文原创首发于公众号:<strong>老王和他的IT界朋友们</strong></p>


<p>微信扫描关注微信号:(原创投稿有惊喜!!!)</p>


<table>
<thead>
<tr>
  <th align="center"></th>
  <th align="center"><img src="https://img-blog.csdn.net/20160720010928530" alt="微信扫描二维码关注" title=""></th>
  <th align="center"></th>
</tr>
</thead>
</table>
<div class="footnotes"><hr><ol><li id="fn:sequence">序列图的样式的定制需要在可以渲染CSS的地方才可使用,具体可以查阅参考。 <a href="#fnref:sequence" title="Return to article" class="reversefootnote" target="_blank">↩</a></li><li id="fn:gantt">甘特图的样式的定制需要在可以渲染CSS的地方才可使用,具体可以查阅参考。 <a href="#fnref:gantt" title="Return to article" class="reversefootnote" target="_blank">↩</a></li></ol></div></div>
        <script type="text/javascript">
            $(function () {
                $('pre.prettyprint code').each(function () {
                    var lines = $(this).text().split('\n').length;
                    var $numbering = $('<ul/>').addClass('pre-numbering').hide();
                    $(this).addClass('has-numbering').parent().append($numbering);
                    for (i = 1; i <= lines; i++) {
                        $numbering.append($('<li/>').text(i));
                    };
                    $numbering.fadeIn(1700);
                });
            });
        </script>
   
</div>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值