<!DOCTYPE html> <html lang="art-x-pir" dir="rtl" itemscope itemtype="http://schema.org/Article"> <head> <meta charset="utf-8"> <meta name="viewport" content="height=device-height, width=device-width, initial-scale=1.0, minimum-scale=1.0"> <meta name="generator" content="Hugo 0.136.5"> <meta name="generator" content="Relearn 7.0.1+40a55a3e52be6798651fabb67c3fa4b8dc26d6e6"> <meta name="description" content="Generrrat'n o' diagrrram an' flowcharrrt frrrom text"> <meta name="author" content="Sören Weber"> <meta name="twitter:card" content="summary_large_image"> <meta name="twitter:image" content="https://mcshelby.github.io/hugo-theme-relearn/images/hero.png"> <meta name="twitter:title" content="Merrrmaid :: Cap'n Hugo Relearrrn Theme"> <meta name="twitter:description" content="Generrrat'n o' diagrrram an' flowcharrrt frrrom text"> <meta property="og:url" content="https://mcshelby.github.io/hugo-theme-relearn/pir/shortcodes/mermaid/index.html"> <meta property="og:site_name" content="Cap'n Hugo Relearrrn Theme"> <meta property="og:title" content="Merrrmaid :: Cap'n Hugo Relearrrn Theme"> <meta property="og:description" content="Generrrat'n o' diagrrram an' flowcharrrt frrrom text"> <meta property="og:locale" content="art_x_pir"> <meta property="og:type" content="article"> <meta property="article:section" content="Shorrrtcodes"> <meta property="og:image" content="https://mcshelby.github.io/hugo-theme-relearn/images/hero.png"> <meta itemprop="name" content="Merrrmaid :: Cap'n Hugo Relearrrn Theme"> <meta itemprop="description" content="Generrrat'n o' diagrrram an' flowcharrrt frrrom text"> <meta itemprop="wordCount" content="2319"> <meta itemprop="image" content="https://mcshelby.github.io/hugo-theme-relearn/images/hero.png"> <meta itemprop="keywords" content="Howto,Reference,CustomMermaidURL,Mermaid.force,MermaidInitialize,MermaidZoom,CustomMermaidURL,Mermaid.force,MermaidInitialize,MermaidZoom"> <title>Merrrmaid :: Cap'n Hugo Relearrrn Theme</title> <link href="https://mcshelby.github.io/hugo-theme-relearn/shortcodes/mermaid/index.html" rel="alternate" hreflang="x-default"> <link href="https://mcshelby.github.io/hugo-theme-relearn/shortcodes/mermaid/index.html" rel="alternate" hreflang="en"> <link href="https://mcshelby.github.io/hugo-theme-relearn/pir/shortcodes/mermaid/index.html" rel="alternate" hreflang="art-x-pir"> <link href="https://mcshelby.github.io/hugo-theme-relearn/pir/shortcodes/mermaid/index.html" rel="canonical" type="text/html" title="Merrrmaid :: Cap'n Hugo Relearrrn Theme"> <link href="/hugo-theme-relearn/pir/shortcodes/mermaid/index.xml" rel="alternate" type="application/rss+xml" title="Merrrmaid :: Cap'n Hugo Relearrrn Theme"> <link href="/hugo-theme-relearn/images/logo.svg?1729805740" rel="icon" type="image/svg+xml"> <link href="/hugo-theme-relearn/css/fontawesome-all.min.css?1729805740" rel="stylesheet" media="print" onload="this.media='all';this.onload=null;"><noscript><link href="/hugo-theme-relearn/css/fontawesome-all.min.css?1729805740" rel="stylesheet"></noscript> <link href="/hugo-theme-relearn/css/nucleus.css?1729805740" rel="stylesheet"> <link href="/hugo-theme-relearn/css/auto-complete.css?1729805740" rel="stylesheet" media="print" onload="this.media='all';this.onload=null;"><noscript><link href="/hugo-theme-relearn/css/auto-complete.css?1729805740" rel="stylesheet"></noscript> <link href="/hugo-theme-relearn/css/perfect-scrollbar.min.css?1729805740" rel="stylesheet"> <link href="/hugo-theme-relearn/css/fonts.css?1729805740" rel="stylesheet" media="print" onload="this.media='all';this.onload=null;"><noscript><link href="/hugo-theme-relearn/css/fonts.css?1729805740" rel="stylesheet"></noscript> <link href="/hugo-theme-relearn/css/theme.css?1729805740" rel="stylesheet"> <link href="/hugo-theme-relearn/css/theme-relearn-auto.css?1729805740" rel="stylesheet" id="R-variant-style"> <link href="/hugo-theme-relearn/css/chroma-relearn-auto.css?1729805740" rel="stylesheet" id="R-variant-chroma-style"> <link href="/hugo-theme-relearn/css/print.css?1729805740" rel="stylesheet" media="print"> <link href="/hugo-theme-relearn/css/format-print.css?1729805740" rel="stylesheet"> <script src="/hugo-theme-relearn/js/variant.js?1729805740"></script> <script> window.relearn = window.relearn || {}; window.relearn.relBasePath='..\/..\/..'; window.relearn.relBaseUri='..\/..\/..\/..'; window.relearn.absBaseUri='https:\/\/mcshelby.github.io\/hugo-theme-relearn'; window.relearn.disableAnchorCopy=false; window.relearn.disableAnchorScrolling=false; // variant stuff window.variants && variants.init( [ 'relearn-auto', 'relearn-light', 'relearn-dark', 'relearn-bright', 'zen-auto', 'zen-light', 'zen-dark', 'retro-auto', 'neon', 'learn', 'blue', 'green', 'red' ] ); // translations window.T_Copy_to_clipboard = `Copy t' clipboard`; window.T_Copied_to_clipboard = `Copied t' clipboard!`; window.T_Copy_link_to_clipboard = `Copy link t' clipboard`; window.T_Link_copied_to_clipboard = `Copied link t' clipboard!`; window.T_Reset_view = `Rrreset view`; window.T_View_reset = `View rrreset!`; window.T_No_results_found = `No rrresults found fer "{0}"`; window.T_N_results_found = `{1} rrresults found fer "{0}"`; </script> <style> #R-body img.bg-white { background-color: white; } </style> </head> <body class="mobile-support print disableInlineCopyToClipboard" data-url="/hugo-theme-relearn/pir/shortcodes/mermaid/index.html"> <div id="R-body" class="default-animation"> <div id="R-body-overlay"></div> <nav id="R-topbar"> <div class="topbar-wrapper"> <div class="topbar-sidebar-divider"></div> <div class="topbar-area topbar-area-start" data-area="start"> <div class="topbar-button topbar-button-sidebar" data-content-empty="disable" data-width-s="show" data-width-m="hide" data-width-l="hide"><button class="topbar-control" onclick="toggleNav()" type="button" title="Menu (CTRL+ALT+n)"><i class="fa-fw fas fa-bars"></i></button> </div> <div class="topbar-button topbar-button-toc" data-content-empty="hide" data-width-s="show" data-width-m="show" data-width-l="show"><button class="topbar-control" onclick="toggleTopbarFlyout(this)" type="button" title="Table o' Contents (CTRL+ALT+t)"><i class="fa-fw fas fa-list-alt"></i></button> <div class="topbar-content"> <div class="topbar-content-wrapper"> <nav class="TableOfContents"> <ul> <li><a href="#usage">Usage</a> <ul> <li><a href="#parameter">Parameter</a></li> </ul> </li> <li><a href="#settings">Sett'ns</a> <ul> <li><a href="#configuring-pan-and-zoom">Configur'n Pan an' Zoom</a></li> <li><a href="#providing-initialization-options-for-the-mermaid-library">Provid'n Initializat'n Opt'ns fer th' Merrrmaid Library</a></li> <li><a href="#loading-an-external-version-of-the-mermaid-library">Load'n an External Version o' th' Merrrmaid Library</a></li> <li><a href="#force-loading-of-the-mermaid-library">Force Load'n o' th' Merrrmaid Library</a></li> <li><a href="#setting-a-specific-mermaid-theme">Sett'n a Specific Merrrmaid Theme</a></li> </ul> </li> <li><a href="#examples">Examples</a> <ul> <li><a href="#flowchart-with-yaml-title">Flowchart wit' YAML-Title</a></li> <li><a href="#sequence-diagram-with-configuration-directive">Sequence Diagram wit' Configurat'n Directive</a></li> <li><a href="#class-diagram">Class Diagram</a></li> <li><a href="#state-diagram-aligned-to-the-right-using-shortcode-syntax">State Diagram Aligned t' th' Right Us'n Shortcode Rules</a></li> <li><a href="#entity-relationship-model-with-non-default-mermaid-theme">Entity Relationship Model wit' Non-Default Merrrmaid Theme</a></li> <li><a href="#user-journey">User Journey</a></li> <li><a href="#gantt-chart">GANTT Chart</a></li> <li><a href="#pie-chart-without-zoom">Pie Chart without Zoom</a></li> <li><a href="#quadrant-chart">Quadrant Chart</a></li> <li><a href="#requirement-diagram">Requirement Diagram</a></li> <li><a href="#git-graph">Git Graph</a></li> <li><a href="#c4-diagrams">C4 Diagrams</a></li> <li><a href="#mindmaps">Mindmaps</a></li> <li><a href="#timeline">Timeline</a></li> <li><a href="#sankey">Sankey</a></li> <li><a href="#xychart">XYChart</a></li> <li><a href="#block-diagram">Block Diagram</a></li> <li><a href="#packet">Packet</a></li> <li><a href="#architecture">Architecture</a></li> </ul> </li> </ul> </nav> </div> </div> </div> </div> <ol class="topbar-breadcrumbs breadcrumbs highlightable" itemscope itemtype="http://schema.org/BreadcrumbList"><li itemscope itemtype="https://schema.org/ListItem" itemprop="itemListElement"><a itemprop="item" href="/hugo-theme-relearn/pir/shortcodes/index.html"><span itemprop="name">Shorrrtcodes</span></a><meta itemprop="position" content="1"> > </li><li itemscope itemtype="https://schema.org/ListItem" itemprop="itemListElement"><span itemprop="name">Merrrmaid</span><meta itemprop="position" content="2"></li> </ol> <div class="topbar-area topbar-area-end" data-area="end"> <div class="topbar-button topbar-button-edit" data-content-empty="disable" data-width-s="area-more" data-width-m="show" data-width-l="show"><a class="topbar-control" href="https://github.com/McShelby/hugo-theme-relearn/edit/main/exampleSite/content/shortcodes/mermaid.pir.md" target="_self" title="Edit (CTRL+ALT+w)"><i class="fa-fw fas fa-pen"></i></a> </div> <div class="topbar-button topbar-button-print" data-content-empty="disable" data-width-s="area-more" data-width-m="show" data-width-l="show"><a class="topbar-control" href="/hugo-theme-relearn/pir/shortcodes/mermaid/index.print.html" title="Prrrint whole chapterrr (CTRL+ALT+p)"><i class="fa-fw fas fa-print"></i></a> </div> <div class="topbar-button topbar-button-prev" data-content-empty="disable" data-width-s="show" data-width-m="show" data-width-l="show"><a class="topbar-control" href="/hugo-theme-relearn/pir/shortcodes/math/index.html" title="Math (🡒)"><i class="fa-fw fas fa-chevron-left"></i></a> </div> <div class="topbar-button topbar-button-next" data-content-empty="disable" data-width-s="show" data-width-m="show" data-width-l="show"><a class="topbar-control" href="/hugo-theme-relearn/pir/shortcodes/notice/index.html" title="Notice (🡐)"><i class="fa-fw fas fa-chevron-right"></i></a> </div> <div class="topbar-button topbar-button-more" data-content-empty="hide" data-width-s="show" data-width-m="show" data-width-l="show"><button class="topbar-control" onclick="toggleTopbarFlyout(this)" type="button" title="Morrre"><i class="fa-fw fas fa-ellipsis-v"></i></button> <div class="topbar-content"> <div class="topbar-content-wrapper"> <div class="topbar-area topbar-area-more" data-area="more"> </div> </div> </div> </div> </div> </div> </nav> <div id="R-main-overlay"></div> <main id="R-body-inner" class="highlightable shortcodes" tabindex="-1"> <div class="flex-block-wrapper"> <article class="default"> <header class="headline"> </header> <h1 id="merrrmaid">Merrrmaid</h1> <div class="box notices cstyle warning"> <div class="box-label"> <i class="fa-fw fas fa-skull-crossbones"></i> Arrr! Pirrrates </div> <div class="box-content"> <p>Fello' pirrrates, grog made us dizzy! Be awarrre some stuff may look weird in this trrranslat'n. Like seeing Merrrmaids and stuff.</p> </div> </div><p>Th' <code>mermaid</code> shortcode generates diagrams an' flowcharts from text 'n a similar manner as Marrrkdown us'n th' <a href="https://mermaidjs.github.io/" rel="external" target="_self">Merrrmaid</a> library.</p> <pre class="mermaid align-center zoomable">graph LR; If --> Then Then --> Else</pre> <h2 id="usage">Usage</h2> <div class="tab-panel" data-tab-group="shortcode-parameter"> <div class="tab-nav"> <div class="tab-nav-title">​</div> <button data-tab-item="codefence" class="tab-nav-button tab-panel-style cstyle initial active" tabindex="-1" onclick="switchTab('shortcode-parameter','codefence')" > <span class="tab-nav-text">codefence</span> </button> <button data-tab-item="shortcode" class="tab-nav-button tab-panel-style cstyle initial" onclick="switchTab('shortcode-parameter','shortcode')" > <span class="tab-nav-text">shortcode</span> </button> <button data-tab-item="partial" class="tab-nav-button tab-panel-style cstyle initial" onclick="switchTab('shortcode-parameter','partial')" > <span class="tab-nav-text">partial</span> </button> </div> <div class="tab-content-container"> <div data-tab-item="codefence" class="tab-content tab-panel-style cstyle initial active"> <div class="tab-content-text"> <div class="highlight wrap-code"><pre tabindex="0" class="chroma"><code class="language-md" data-lang="md"><span class="line"><span class="cl">```mermaid {align="center" zoom="true"} </span></span><span class="line"><span class="cl">graph LR; </span></span><span class="line"><span class="cl"> If --> Then </span></span><span class="line"><span class="cl"> Then --> Else </span></span><span class="line"><span class="cl">```</span></span></code></pre></div> </div> </div> <div data-tab-item="shortcode" class="tab-content tab-panel-style cstyle initial"> <div class="tab-content-text"> <div class="highlight wrap-code"><pre tabindex="0" class="chroma"><code class="language-go" data-lang="go"><span class="line"><span class="cl"><span class="p">{{<</span> <span class="nx">mermaid</span> <span class="nx">align</span><span class="p">=</span><span class="s">"center"</span> <span class="nx">zoom</span><span class="p">=</span><span class="s">"true"</span> <span class="p">>}}</span> </span></span><span class="line"><span class="cl"><span class="nx">graph</span> <span class="nx">LR</span><span class="p">;</span> </span></span><span class="line"><span class="cl"> <span class="nx">If</span> <span class="o">--</span><span class="p">></span> <span class="nx">Then</span> </span></span><span class="line"><span class="cl"> <span class="nx">Then</span> <span class="o">--</span><span class="p">></span> <span class="nx">Else</span> </span></span><span class="line"><span class="cl"><span class="p">{{<</span> <span class="o">/</span><span class="nx">mermaid</span> <span class="p">>}}</span></span></span></code></pre></div> </div> </div> <div data-tab-item="partial" class="tab-content tab-panel-style cstyle initial"> <div class="tab-content-text"> <div class="highlight wrap-code"><pre tabindex="0" class="chroma"><code class="language-go" data-lang="go"><span class="line"><span class="cl"><span class="p">{{</span> <span class="nx">partial</span> <span class="s">"shortcodes/mermaid.html"</span> <span class="p">(</span><span class="nx">dict</span> </span></span><span class="line"><span class="cl"> <span class="s">"page"</span> <span class="p">.</span> </span></span><span class="line"><span class="cl"> <span class="s">"content"</span> <span class="s">"graph LR;\n If --> Then\n Then --> Else"</span> </span></span><span class="line"><span class="cl"> <span class="s">"align"</span> <span class="s">"center"</span> </span></span><span class="line"><span class="cl"> <span class="s">"zoom"</span> <span class="s">"true"</span> </span></span><span class="line"><span class="cl"><span class="p">)}}</span></span></span></code></pre></div> </div> </div> </div> </div> <p>Codefence rules be widely avail'ble 'n other Marrrkdown parsers like GitHub an' therefore be th' recommend rules fer generat'n port'ble Marrrkdown.</p> <h3 id="parameter">Parameter</h3> <table> <thead> <tr> <th>Name</th> <th>Default</th> <th>Notes</th> </tr> </thead> <tbody> <tr> <td><strong>align</strong></td> <td><code>center</code></td> <td>Th' vertical alignment.<br><br>Allowed values be <code>left</code>, <code>center</code> or <code>right</code>.</td> </tr> <tr> <td><strong>zoom</strong></td> <td>see notes</td> <td>Whether th' graph be pan- an' zoom'ble.<br><br>If not set th' value be determined by th' <a href="/hugo-theme-relearn/pir/shortcodes/mermaid/index.html#configuring-pan-and-zoom"><code>mermaidZoom</code> sett'n</a> o' yer configurat'ns opt'ns or th' planks front matter or <code>false</code> if not set at all.<br><br>- <code>false</code>: no pan or zoom<br>- <code>true</code>: pan an' zoom active</td> </tr> <tr> <td><em><strong><content></strong></em></td> <td><em><empty></em></td> <td>Yer Merrrmaid graph.</td> </tr> </tbody> </table> <h2 id="settings">Sett'ns</h2> <h3 id="configuring-pan-and-zoom">Configur'n Pan an' Zoom</h3> <p><span class="badge cstyle cyan badge-with-title"><span class="badge-title"><i class="fa-fw fas fa-gears"></i></span><span class="badge-content">Opt'n</span></span> <span class="badge cstyle green badge-with-title"><span class="badge-title"><i class="fa-fw fab fa-markdown"></i></span><span class="badge-content">Front Matter</span></span> Th' generated graphs can be panned by dragg'n them an' zoomed by us'n th' mousewheel. On mobile devices ye can use finger gestures.</p> <p>By default this be disabled. Set <code>mermaidZoom=true</code> t' en'ble it.</p> <p>Individual sett'ns o' a graphs <a href="/hugo-theme-relearn/pir/shortcodes/mermaid/index.html#parameter"><code>zoom</code> parameter</a> have precedence over th' page’s front matter an' configurat'n opt'ns 'n that order.</p> <div class="tab-panel" data-tab-group="config-code"> <div class="tab-nav"> <div class="tab-nav-title">​</div> <button data-tab-item="toml" class="tab-nav-button tab-panel-style cstyle initial active" tabindex="-1" onclick="switchTab('config-code','toml')" > <span class="tab-nav-text">toml</span> </button> <button data-tab-item="yaml" class="tab-nav-button tab-panel-style cstyle initial" onclick="switchTab('config-code','yaml')" > <span class="tab-nav-text">yaml</span> </button> <button data-tab-item="json" class="tab-nav-button tab-panel-style cstyle initial" onclick="switchTab('config-code','json')" > <span class="tab-nav-text">json</span> </button> </div> <div class="tab-content-container"> <div data-tab-item="toml" class="tab-content tab-panel-style cstyle initial active"> <div class="tab-content-text"> <div class="highlight wrap-code"><pre tabindex="0" class="chroma"><code class="language-toml" data-lang="toml"><span class="line"><span class="cl"><span class="nx">mermaidZoom</span> <span class="p">=</span> <span class="kc">true</span></span></span></code></pre></div> </div> </div> <div data-tab-item="yaml" class="tab-content tab-panel-style cstyle initial"> <div class="tab-content-text"> <div class="highlight wrap-code"><pre tabindex="0" class="chroma"><code class="language-yaml" data-lang="yaml"><span class="line"><span class="cl"><span class="nt">mermaidZoom</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span></span></span></code></pre></div> </div> </div> <div data-tab-item="json" class="tab-content tab-panel-style cstyle initial"> <div class="tab-content-text"> <div class="highlight wrap-code"><pre tabindex="0" class="chroma"><code class="language-json" data-lang="json"><span class="line"><span class="cl"><span class="p">{</span> </span></span><span class="line"><span class="cl"> <span class="nt">"mermaidZoom"</span><span class="p">:</span> <span class="kc">true</span> </span></span><span class="line"><span class="cl"><span class="p">}</span></span></span></code></pre></div> </div> </div> </div> </div> <h3 id="providing-initialization-options-for-the-mermaid-library">Provid'n Initializat'n Opt'ns fer th' Merrrmaid Library</h3> <p><span class="badge cstyle cyan badge-with-title"><span class="badge-title"><i class="fa-fw fas fa-gears"></i></span><span class="badge-content">Opt'n</span></span> <span class="badge cstyle green badge-with-title"><span class="badge-title"><i class="fa-fw fab fa-markdown"></i></span><span class="badge-content">Front Matter</span></span> Th' Merrrmaid library be configured wit' default sett'ns fer initializat'n.</p> <p>Ye can overwrite th' sett'ns by provid'n a JSON object 'n <code>mermaidInitialize</code>. See <a href="https://mermaid-js.github.io/mermaid/#/Setup?id=mermaidapi-configuration-defaults" rel="external" target="_self">Mermaid’s documentat'n</a> fer all allowed sett'ns.</p> <p>Keep 'n mind that initializat'n sett'ns o' yer planks front matter overwrite all sett'ns o' yer configurat'n opt'ns.</p> <p>In addit'n, ye can merge sett'ns fer each individual graph through <a href="https://mermaid-js.github.io/mermaid/#/directives?id=directives" rel="external" target="_self">diagram directives</a> on top o' th' sett'ns o' yer page’s front matter or configurat'n opt'ns.</p> <div class="tab-panel" data-tab-group="config-code"> <div class="tab-nav"> <div class="tab-nav-title">​</div> <button data-tab-item="toml" class="tab-nav-button tab-panel-style cstyle initial active" tabindex="-1" onclick="switchTab('config-code','toml')" > <span class="tab-nav-text">toml</span> </button> <button data-tab-item="yaml" class="tab-nav-button tab-panel-style cstyle initial" onclick="switchTab('config-code','yaml')" > <span class="tab-nav-text">yaml</span> </button> <button data-tab-item="json" class="tab-nav-button tab-panel-style cstyle initial" onclick="switchTab('config-code','json')" > <span class="tab-nav-text">json</span> </button> </div> <div class="tab-content-container"> <div data-tab-item="toml" class="tab-content tab-panel-style cstyle initial active"> <div class="tab-content-text"> <div class="highlight wrap-code"><pre tabindex="0" class="chroma"><code class="language-toml" data-lang="toml"><span class="line"><span class="cl"><span class="nx">mermaidInitialize</span> <span class="p">=</span> <span class="s1">'{ "securityLevel": "loose" }'</span></span></span></code></pre></div> </div> </div> <div data-tab-item="yaml" class="tab-content tab-panel-style cstyle initial"> <div class="tab-content-text"> <div class="highlight wrap-code"><pre tabindex="0" class="chroma"><code class="language-yaml" data-lang="yaml"><span class="line"><span class="cl"><span class="nt">mermaidInitialize</span><span class="p">:</span><span class="w"> </span><span class="s1">'{ "securityLevel": "loose" }'</span></span></span></code></pre></div> </div> </div> <div data-tab-item="json" class="tab-content tab-panel-style cstyle initial"> <div class="tab-content-text"> <div class="highlight wrap-code"><pre tabindex="0" class="chroma"><code class="language-json" data-lang="json"><span class="line"><span class="cl"><span class="p">{</span> </span></span><span class="line"><span class="cl"> <span class="nt">"mermaidInitialize"</span><span class="p">:</span> <span class="s2">"{ \"securityLevel\": \"loose\" }"</span> </span></span><span class="line"><span class="cl"><span class="p">}</span></span></span></code></pre></div> </div> </div> </div> </div> <h3 id="loading-an-external-version-of-the-mermaid-library">Load'n an External Version o' th' Merrrmaid Library</h3> <p><span class="badge cstyle cyan badge-with-title"><span class="badge-title"><i class="fa-fw fas fa-gears"></i></span><span class="badge-content">Opt'n</span></span> <span class="badge cstyle green badge-with-title"><span class="badge-title"><i class="fa-fw fab fa-markdown"></i></span><span class="badge-content">Front Matter</span></span> Th' theme uses th' shipped Merrrmaid library by default.</p> <p>In case ye want do use a different version o' th' Merrrmaid library but don’t want t' override th' shipped version, ye can set <code>customMermaidURL</code> t' th' URL o' th' external Merrrmaid library.</p> <div class="tab-panel" data-tab-group="config-code"> <div class="tab-nav"> <div class="tab-nav-title">​</div> <button data-tab-item="toml" class="tab-nav-button tab-panel-style cstyle initial active" tabindex="-1" onclick="switchTab('config-code','toml')" > <span class="tab-nav-text">toml</span> </button> <button data-tab-item="yaml" class="tab-nav-button tab-panel-style cstyle initial" onclick="switchTab('config-code','yaml')" > <span class="tab-nav-text">yaml</span> </button> <button data-tab-item="json" class="tab-nav-button tab-panel-style cstyle initial" onclick="switchTab('config-code','json')" > <span class="tab-nav-text">json</span> </button> </div> <div class="tab-content-container"> <div data-tab-item="toml" class="tab-content tab-panel-style cstyle initial active"> <div class="tab-content-text"> <div class="highlight wrap-code"><pre tabindex="0" class="chroma"><code class="language-toml" data-lang="toml"><span class="line"><span class="cl"><span class="nx">customMermaidURL</span> <span class="p">=</span> <span class="s1">'https://unpkg.com/mermaid/dist/mermaid.min.js'</span></span></span></code></pre></div> </div> </div> <div data-tab-item="yaml" class="tab-content tab-panel-style cstyle initial"> <div class="tab-content-text"> <div class="highlight wrap-code"><pre tabindex="0" class="chroma"><code class="language-yaml" data-lang="yaml"><span class="line"><span class="cl"><span class="nt">customMermaidURL</span><span class="p">:</span><span class="w"> </span><span class="l">https://unpkg.com/mermaid/dist/mermaid.min.js</span></span></span></code></pre></div> </div> </div> <div data-tab-item="json" class="tab-content tab-panel-style cstyle initial"> <div class="tab-content-text"> <div class="highlight wrap-code"><pre tabindex="0" class="chroma"><code class="language-json" data-lang="json"><span class="line"><span class="cl"><span class="p">{</span> </span></span><span class="line"><span class="cl"> <span class="nt">"customMermaidURL"</span><span class="p">:</span> <span class="s2">"https://unpkg.com/mermaid/dist/mermaid.min.js"</span> </span></span><span class="line"><span class="cl"><span class="p">}</span></span></span></code></pre></div> </div> </div> </div> </div> <h3 id="force-loading-of-the-mermaid-library">Force Load'n o' th' Merrrmaid Library</h3> <p><span class="badge cstyle cyan badge-with-title"><span class="badge-title"><i class="fa-fw fas fa-gears"></i></span><span class="badge-content">Opt'n</span></span> <span class="badge cstyle green badge-with-title"><span class="badge-title"><i class="fa-fw fab fa-markdown"></i></span><span class="badge-content">Front Matter</span></span> Th' Merrrmaid library will be boarded if th' plank contains an <code>mermaid</code> shortcode or codefence.</p> <p>Ye can force load'n th' Merrrmaid library if no shortcode or codefence was used by sett'n <code>mermaid.force=true</code>. If a shortcode or codefence was found, this opt'n has no effect. This comes handy 'n case ye be us'n script'n t' render a graph.</p> <div class="tab-panel" data-tab-group="config-code"> <div class="tab-nav"> <div class="tab-nav-title">​</div> <button data-tab-item="toml" class="tab-nav-button tab-panel-style cstyle initial active" tabindex="-1" onclick="switchTab('config-code','toml')" > <span class="tab-nav-text">toml</span> </button> <button data-tab-item="yaml" class="tab-nav-button tab-panel-style cstyle initial" onclick="switchTab('config-code','yaml')" > <span class="tab-nav-text">yaml</span> </button> <button data-tab-item="json" class="tab-nav-button tab-panel-style cstyle initial" onclick="switchTab('config-code','json')" > <span class="tab-nav-text">json</span> </button> </div> <div class="tab-content-container"> <div data-tab-item="toml" class="tab-content tab-panel-style cstyle initial active"> <div class="tab-content-text"> <div class="highlight wrap-code"><pre tabindex="0" class="chroma"><code class="language-toml" data-lang="toml"><span class="line"><span class="cl"><span class="p">[</span><span class="nx">mermaid</span><span class="p">]</span> </span></span><span class="line"><span class="cl"> <span class="nx">force</span> <span class="p">=</span> <span class="kc">true</span></span></span></code></pre></div> </div> </div> <div data-tab-item="yaml" class="tab-content tab-panel-style cstyle initial"> <div class="tab-content-text"> <div class="highlight wrap-code"><pre tabindex="0" class="chroma"><code class="language-yaml" data-lang="yaml"><span class="line"><span class="cl"><span class="nt">mermaid</span><span class="p">:</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"> </span><span class="nt">force</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span></span></span></code></pre></div> </div> </div> <div data-tab-item="json" class="tab-content tab-panel-style cstyle initial"> <div class="tab-content-text"> <div class="highlight wrap-code"><pre tabindex="0" class="chroma"><code class="language-json" data-lang="json"><span class="line"><span class="cl"><span class="p">{</span> </span></span><span class="line"><span class="cl"> <span class="nt">"mermaid"</span><span class="p">:</span> <span class="p">{</span> </span></span><span class="line"><span class="cl"> <span class="nt">"force"</span><span class="p">:</span> <span class="kc">true</span> </span></span><span class="line"><span class="cl"> <span class="p">}</span> </span></span><span class="line"><span class="cl"><span class="p">}</span></span></span></code></pre></div> </div> </div> </div> </div> <h3 id="setting-a-specific-mermaid-theme">Sett'n a Specific Merrrmaid Theme</h3> <p>While ye can configure th' Merrrmaid theme t' render yer graph by us'n one o' th' <a href="/hugo-theme-relearn/pir/shortcodes/mermaid/index.html#providing-initialization-options-for-the-mermaid-library">initializat'n opt'ns</a>, th' recommended way be t' set th' default value us'n th' <code>--MERMAID-theme</code> vari'ble 'n yer <a href="/hugo-theme-relearn/pir/configuration/branding/generator/index.html">color variant stylesheet</a>. This allows yer graphs t' look pretty when th' user switches th' color variant.</p> <h2 id="examples">Examples</h2> <h3 id="flowchart-with-yaml-title">Flowchart wit' YAML-Title</h3> <div class="highlight wrap-code"><pre tabindex="0" class="chroma"><code class="language-md" data-lang="md"><span class="line"><span class="cl"><span class="s">```mermaid </span></span></span><span class="line"><span class="cl"><span class="s"></span>--- </span></span><span class="line"><span class="cl">title: Example Diagram </span></span><span class="line"><span class="cl">--- </span></span><span class="line"><span class="cl">graph LR; </span></span><span class="line"><span class="cl"> A[Hard edge] -->|Link text| B(Round edge) </span></span><span class="line"><span class="cl"> B --> C{<strong>Decision</strong>} </span></span><span class="line"><span class="cl"> C -->|One| D[Result one] </span></span><span class="line"><span class="cl"> C -->|Two| E[Result two] </span></span><span class="line"><span class="cl"><span class="s">```</span></span></span></code></pre></div> <pre class="mermaid align-center zoomable">--- title: Example Diagram --- graph LR; A[Hard edge] -->|Link text| B(Round edge) B --> C{<strong>Decision</strong>} C -->|One| D[Result one] C -->|Two| E[Result two]</pre> <h3 id="sequence-diagram-with-configuration-directive">Sequence Diagram wit' Configurat'n Directive</h3> <div class="highlight wrap-code"><pre tabindex="0" class="chroma"><code class="language-md" data-lang="md"><span class="line"><span class="cl"><span class="s">```mermaid </span></span></span><span class="line"><span class="cl"><span class="s"></span>%%{init:{"fontFamily":"monospace", "sequence":{"showSequenceNumbers":true}}}%% </span></span><span class="line"><span class="cl">sequenceDiagram </span></span><span class="line"><span class="cl"> Alice->>John: Hello John, how be ye? </span></span><span class="line"><span class="cl"> loop Healthcheck </span></span><span class="line"><span class="cl"> John->>John: Fight against hypochondria </span></span><span class="line"><span class="cl"> end </span></span><span class="line"><span class="cl"> Note right of John: Rational thoughts! </span></span><span class="line"><span class="cl"> John-->>Alice: Great! </span></span><span class="line"><span class="cl"> John->>Bob: How about ye? </span></span><span class="line"><span class="cl"> Bob-->>John: Jolly bloody! </span></span><span class="line"><span class="cl"><span class="s">```</span></span></span></code></pre></div> <pre class="mermaid align-center zoomable">%%{init:{"fontFamily":"monospace", "sequence":{"showSequenceNumbers":true}}}%% sequenceDiagram Alice->>John: Hello John, how be ye? loop Healthcheck John->>John: Fight against hypochondria end Note right of John: Rational thoughts! John-->>Alice: Great! John->>Bob: How about ye? Bob-->>John: Jolly bloody!</pre> <h3 id="class-diagram">Class Diagram</h3> <div class="highlight wrap-code"><pre tabindex="0" class="chroma"><code class="language-md" data-lang="md"><span class="line"><span class="cl"><span class="s">```mermaid </span></span></span><span class="line"><span class="cl"><span class="s"></span>classDiagram </span></span><span class="line"><span class="cl"> Animal <|-- Duck </span></span><span class="line"><span class="cl"> Animal <|-- Fish </span></span><span class="line"><span class="cl"> Animal <|-- Zebra </span></span><span class="line"><span class="cl"> Animal : +int age </span></span><span class="line"><span class="cl"> Animal : +Str'n gender </span></span><span class="line"><span class="cl"> Animal: +isMammal() </span></span><span class="line"><span class="cl"> Animal: +mate() </span></span><span class="line"><span class="cl"> class Duck{ </span></span><span class="line"><span class="cl"> +Str'n beakColor </span></span><span class="line"><span class="cl"> +swim() </span></span><span class="line"><span class="cl"> +quack() </span></span><span class="line"><span class="cl"> } </span></span><span class="line"><span class="cl"> class Fish{ </span></span><span class="line"><span class="cl"> -int sizeInFeet </span></span><span class="line"><span class="cl"> -canEat() </span></span><span class="line"><span class="cl"> } </span></span><span class="line"><span class="cl"> class Zebra{ </span></span><span class="line"><span class="cl"> +bool is_wild </span></span><span class="line"><span class="cl"> +run() </span></span><span class="line"><span class="cl"> } </span></span><span class="line"><span class="cl"><span class="s">```</span></span></span></code></pre></div> <pre class="mermaid align-center zoomable">classDiagram Animal <|-- Duck Animal <|-- Fish Animal <|-- Zebra Animal : +int age Animal : +Str'n gender Animal: +isMammal() Animal: +mate() class Duck{ +Str'n beakColor +swim() +quack() } class Fish{ -int sizeInFeet -canEat() } class Zebra{ +bool is_wild +run() }</pre> <h3 id="state-diagram-aligned-to-the-right-using-shortcode-syntax">State Diagram Aligned t' th' Right Us'n Shortcode Rules</h3> <div class="highlight wrap-code"><pre tabindex="0" class="chroma"><code class="language-go" data-lang="go"><span class="line"><span class="cl"><span class="p">{{<</span> <span class="nx">mermaid</span> <span class="nx">align</span><span class="p">=</span><span class="s">"right"</span> <span class="p">>}}</span> </span></span><span class="line"><span class="cl"><span class="nx">stateDiagram</span><span class="o">-</span><span class="nx">v2</span> </span></span><span class="line"><span class="cl"> <span class="nx">open</span><span class="p">:</span> <span class="nx">Open</span> <span class="nx">Door</span> </span></span><span class="line"><span class="cl"> <span class="nx">closed</span><span class="p">:</span> <span class="nx">Closed</span> <span class="nx">Door</span> </span></span><span class="line"><span class="cl"> <span class="nx">locked</span><span class="p">:</span> <span class="nx">Locked</span> <span class="nx">Door</span> </span></span><span class="line"><span class="cl"> <span class="nx">open</span> <span class="o">--</span><span class="p">></span> <span class="nx">closed</span><span class="p">:</span> <span class="nx">Close</span> </span></span><span class="line"><span class="cl"> <span class="nx">closed</span> <span class="o">--</span><span class="p">></span> <span class="nx">locked</span><span class="p">:</span> <span class="nx">Lock</span> </span></span><span class="line"><span class="cl"> <span class="nx">locked</span> <span class="o">--</span><span class="p">></span> <span class="nx">closed</span><span class="p">:</span> <span class="nx">Unlock</span> </span></span><span class="line"><span class="cl"> <span class="nx">closed</span> <span class="o">--</span><span class="p">></span> <span class="nx">open</span><span class="p">:</span> <span class="nx">Open</span> </span></span><span class="line"><span class="cl"><span class="p">{{<</span> <span class="o">/</span><span class="nx">mermaid</span> <span class="p">>}}</span></span></span></code></pre></div> <pre class="mermaid align-right zoomable"> stateDiagram-v2 open: Open Door closed: Closed Door locked: Locked Door open --> closed: Close closed --> locked: Lock locked --> closed: Unlock closed --> open: Open </pre> <h3 id="entity-relationship-model-with-non-default-mermaid-theme">Entity Relationship Model wit' Non-Default Merrrmaid Theme</h3> <div class="highlight wrap-code"><pre tabindex="0" class="chroma"><code class="language-md" data-lang="md"><span class="line"><span class="cl"><span class="s">```mermaid </span></span></span><span class="line"><span class="cl"><span class="s"></span>%%{init:{"theme":"forest"}}%% </span></span><span class="line"><span class="cl">erDiagram </span></span><span class="line"><span class="cl"> CUSTOMER }|..|{ DELIVERY-ADDRESS : has </span></span><span class="line"><span class="cl"> CUSTOMER ||--o{ ORDER : places </span></span><span class="line"><span class="cl"> CUSTOMER ||--o{ INVOICE : "li'ble for" </span></span><span class="line"><span class="cl"> DELIVERY-ADDRESS ||--o{ ORDER : receives </span></span><span class="line"><span class="cl"> INVOICE ||--|{ ORDER : covers </span></span><span class="line"><span class="cl"> ORDER ||--|{ ORDER-ITEM : includes </span></span><span class="line"><span class="cl"> PRODUCT-CATEGORY ||--|{ PRODUCT : contains </span></span><span class="line"><span class="cl"> PRODUCT ||--o{ ORDER-ITEM : "ordered in" </span></span><span class="line"><span class="cl"><span class="s">```</span></span></span></code></pre></div> <pre class="mermaid align-center zoomable">%%{init:{"theme":"forest"}}%% erDiagram CUSTOMER }|..|{ DELIVERY-ADDRESS : has CUSTOMER ||--o{ ORDER : places CUSTOMER ||--o{ INVOICE : "li'ble for" DELIVERY-ADDRESS ||--o{ ORDER : receives INVOICE ||--|{ ORDER : covers ORDER ||--|{ ORDER-ITEM : includes PRODUCT-CATEGORY ||--|{ PRODUCT : contains PRODUCT ||--o{ ORDER-ITEM : "ordered in"</pre> <h3 id="user-journey">User Journey</h3> <div class="highlight wrap-code"><pre tabindex="0" class="chroma"><code class="language-md" data-lang="md"><span class="line"><span class="cl"><span class="s">```mermaid </span></span></span><span class="line"><span class="cl"><span class="s"></span>journey </span></span><span class="line"><span class="cl"> title My work'n day </span></span><span class="line"><span class="cl"> section Go t' work </span></span><span class="line"><span class="cl"> Make tea: 5: Me </span></span><span class="line"><span class="cl"> Go upstairs: 3: Me </span></span><span class="line"><span class="cl"> Do work: 1: Me, Cat </span></span><span class="line"><span class="cl"> section Go home </span></span><span class="line"><span class="cl"> Go downstairs: 5: Me </span></span><span class="line"><span class="cl"> Sit down: 3: Me </span></span><span class="line"><span class="cl"><span class="s">```</span></span></span></code></pre></div> <pre class="mermaid align-center zoomable">journey title My work'n day section Go t' work Make tea: 5: Me Go upstairs: 3: Me Do work: 1: Me, Cat section Go home Go downstairs: 5: Me Sit down: 3: Me</pre> <h3 id="gantt-chart">GANTT Chart</h3> <div class="highlight wrap-code"><pre tabindex="0" class="chroma"><code class="language-md" data-lang="md"><span class="line"><span class="cl"><span class="s">```mermaid </span></span></span><span class="line"><span class="cl"><span class="s"></span>gantt </span></span><span class="line"><span class="cl"> dateFormat YYYY-MM-DD </span></span><span class="line"><span class="cl"> title Add'n GANTT diagram functionality t' Merrrmaid </span></span><span class="line"><span class="cl"> section A section </span></span><span class="line"><span class="cl"> Completed task :done, des1, 2014-01-06,2014-01-08 </span></span><span class="line"><span class="cl"> Active task :active, des2, 2014-01-09, 3d </span></span><span class="line"><span class="cl"> Future task : des3, after des2, 5d </span></span><span class="line"><span class="cl"> Future task2 : des4, after des3, 5d </span></span><span class="line"><span class="cl"> section Critical tasks </span></span><span class="line"><span class="cl"> Completed task 'n th' critical line :crit, done, 2014-01-06,24h </span></span><span class="line"><span class="cl"> Implement parser an' jison :crit, done, after des1, 2d </span></span><span class="line"><span class="cl"> Create tests fer parser :crit, active, 3d </span></span><span class="line"><span class="cl"> Future task 'n critical line :crit, 5d </span></span><span class="line"><span class="cl"> Create tests fer renderer :2d </span></span><span class="line"><span class="cl"> Add t' Merrrmaid :1d </span></span><span class="line"><span class="cl"><span class="s">```</span></span></span></code></pre></div> <pre class="mermaid align-center zoomable">gantt dateFormat YYYY-MM-DD title Add'n GANTT diagram functionality t' Merrrmaid 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 'n th' critical line :crit, done, 2014-01-06,24h Implement parser an' jison :crit, done, after des1, 2d Create tests fer parser :crit, active, 3d Future task 'n critical line :crit, 5d Create tests fer renderer :2d Add t' Merrrmaid :1d</pre> <h3 id="pie-chart-without-zoom">Pie Chart without Zoom</h3> <div class="highlight wrap-code"><pre tabindex="0" class="chroma"><code class="language-md" data-lang="md"><span class="line"><span class="cl">```mermaid {zoom="false"} </span></span><span class="line"><span class="cl">pie title Pets adopted by volunteers </span></span><span class="line"><span class="cl"> "Dogs" : 386 </span></span><span class="line"><span class="cl"> "Cats" : 85 </span></span><span class="line"><span class="cl"> "Rats" : 15 </span></span><span class="line"><span class="cl">```</span></span></code></pre></div> <pre class="mermaid align-center zoomable">pie title Pets adopted by volunteers "Dogs" : 386 "Cats" : 85 "Rats" : 15</pre> <h3 id="quadrant-chart">Quadrant Chart</h3> <div class="highlight wrap-code"><pre tabindex="0" class="chroma"><code class="language-md" data-lang="md"><span class="line"><span class="cl"><span class="s">```mermaid </span></span></span><span class="line"><span class="cl"><span class="s"></span>quadrantChart </span></span><span class="line"><span class="cl"> title Reach an' engagement o' campaigns </span></span><span class="line"><span class="cl"> x-axis Low Reach --> High Reach </span></span><span class="line"><span class="cl"> y-axis Low Engagement --> High Engagement </span></span><span class="line"><span class="cl"> quadrant-1 We should expand </span></span><span class="line"><span class="cl"> quadrant-2 Need t' promote </span></span><span class="line"><span class="cl"> quadrant-3 Re-evaluate </span></span><span class="line"><span class="cl"> quadrant-4 May be improved </span></span><span class="line"><span class="cl"> Campaign A: [0.3, 0.6] </span></span><span class="line"><span class="cl"> Campaign B: [0.45, 0.23] </span></span><span class="line"><span class="cl"> Campaign C: [0.57, 0.69] </span></span><span class="line"><span class="cl"> Campaign D: [0.78, 0.34] </span></span><span class="line"><span class="cl"> Campaign E: [0.40, 0.34] </span></span><span class="line"><span class="cl"> Campaign F: [0.35, 0.78] </span></span><span class="line"><span class="cl"><span class="s">```</span></span></span></code></pre></div> <pre class="mermaid align-center zoomable">quadrantChart title Reach an' engagement o' campaigns x-axis Low Reach --> High Reach y-axis Low Engagement --> High Engagement quadrant-1 We should expand quadrant-2 Need t' promote quadrant-3 Re-evaluate quadrant-4 May be improved Campaign A: [0.3, 0.6] Campaign B: [0.45, 0.23] Campaign C: [0.57, 0.69] Campaign D: [0.78, 0.34] Campaign E: [0.40, 0.34] Campaign F: [0.35, 0.78]</pre> <h3 id="requirement-diagram">Requirement Diagram</h3> <div class="highlight wrap-code"><pre tabindex="0" class="chroma"><code class="language-md" data-lang="md"><span class="line"><span class="cl"><span class="s">```mermaid </span></span></span><span class="line"><span class="cl"><span class="s"></span>requirementDiagram </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"> requirement test_req { </span></span><span class="line"><span class="cl"> id: 1 </span></span><span class="line"><span class="cl"> text: th' test text. </span></span><span class="line"><span class="cl"> risk: high </span></span><span class="line"><span class="cl"> verifymethod: test </span></span><span class="line"><span class="cl"> } </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"> element test_entity { </span></span><span class="line"><span class="cl"> type: simulat'n </span></span><span class="line"><span class="cl"> } </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"> test_entity - satisfies -> test_req </span></span><span class="line"><span class="cl"><span class="s">```</span></span></span></code></pre></div> <pre class="mermaid align-center zoomable">requirementDiagram requirement test_req { id: 1 text: th' test text. risk: high verifymethod: test } element test_entity { type: simulat'n } test_entity - satisfies -> test_req</pre> <h3 id="git-graph">Git Graph</h3> <div class="highlight wrap-code"><pre tabindex="0" class="chroma"><code class="language-md" data-lang="md"><span class="line"><span class="cl"><span class="s">```mermaid </span></span></span><span class="line"><span class="cl"><span class="s"></span>gitGraph </span></span><span class="line"><span class="cl"> commit </span></span><span class="line"><span class="cl"> commit </span></span><span class="line"><span class="cl"> branch develop </span></span><span class="line"><span class="cl"> checkout develop </span></span><span class="line"><span class="cl"> commit </span></span><span class="line"><span class="cl"> commit </span></span><span class="line"><span class="cl"> checkout main </span></span><span class="line"><span class="cl"> merge develop </span></span><span class="line"><span class="cl"> commit </span></span><span class="line"><span class="cl"> commit </span></span><span class="line"><span class="cl"><span class="s">```</span></span></span></code></pre></div> <pre class="mermaid align-center zoomable">gitGraph commit commit branch develop checkout develop commit commit checkout main merge develop commit commit</pre> <h3 id="c4-diagrams">C4 Diagrams</h3> <div class="highlight wrap-code"><pre tabindex="0" class="chroma"><code class="language-md" data-lang="md"><span class="line"><span class="cl"><span class="s">```mermaid </span></span></span><span class="line"><span class="cl"><span class="s"></span>C4Context </span></span><span class="line"><span class="cl"> title System Context diagram fer Internet Bank'n System </span></span><span class="line"><span class="cl"> Enterprise_Boundary(b0, "BankBoundary0") { </span></span><span class="line"><span class="cl"> Person(customerA, "Bank'n Customer A", "A customer o' th' bank, wit' personal bank accounts.") </span></span><span class="line"><span class="cl"> Person(customerB, "Bank'n Customer B") </span></span><span class="line"><span class="cl"> Person_Ext(customerC, "Bank'n Customer C", "desc") </span></span><span class="line"><span class="cl"> Person(customerD, "Bank'n Customer D", "A customer o' th' bank, <br/> wit' personal bank accounts.") </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"> System(SystemAA, "Internet Bank'n System", "Allows customers t' view informat'n about their bank accounts, an' make payments.") </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"> Enterprise_Boundary(b1, "BankBoundary") { </span></span><span class="line"><span class="cl"> SystemDb_Ext(SystemE, "Mainframe Bank'n System", "Stores all o' th' core bank'n informat'n about customers, accounts, transact'ns, etc.") </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"> System_Boundary(b2, "BankBoundary2") { </span></span><span class="line"><span class="cl"> System(SystemA, "Bank'n System A") </span></span><span class="line"><span class="cl"> System(SystemB, "Bank'n System B", "A system o' th' bank, wit' personal bank accounts. next line.") </span></span><span class="line"><span class="cl"> } </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"> System_Ext(SystemC, "E-mail system", "The internal Microsoft Exchange e-mail system.") </span></span><span class="line"><span class="cl"> SystemDb(SystemD, "Bank'n System D Database", "A system o' th' bank, wit' personal bank accounts.") </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"> Boundary(b3, "BankBoundary3", "boundary") { </span></span><span class="line"><span class="cl"> SystemQueue(SystemF, "Bank'n System F Queue", "A system o' th' bank.") </span></span><span class="line"><span class="cl"> SystemQueue_Ext(SystemG, "Bank'n System G Queue", "A system o' th' bank, wit' personal bank accounts.") </span></span><span class="line"><span class="cl"> } </span></span><span class="line"><span class="cl"> } </span></span><span class="line"><span class="cl"> } </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"> BiRel(customerA, SystemAA, "Uses") </span></span><span class="line"><span class="cl"> BiRel(SystemAA, SystemE, "Uses") </span></span><span class="line"><span class="cl"> Rel(SystemAA, SystemC, "Sends e-mails", "SMTP") </span></span><span class="line"><span class="cl"> Rel(SystemC, customerA, "Sends e-mails to") </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"> UpdateElementStyle(customerA, $fontColor="red", $bgColor="grey", $borderColor="red") </span></span><span class="line"><span class="cl"> UpdateRelStyle(customerA, SystemAA, $textColor="blue", $lineColor="blue", $offsetX="5") </span></span><span class="line"><span class="cl"> UpdateRelStyle(SystemAA, SystemE, $textColor="blue", $lineColor="blue", $offsetY="-10") </span></span><span class="line"><span class="cl"> UpdateRelStyle(SystemAA, SystemC, $textColor="blue", $lineColor="blue", $offsetY="-40", $offsetX="-50") </span></span><span class="line"><span class="cl"> UpdateRelStyle(SystemC, customerA, $textColor="red", $lineColor="red", $offsetX="-50", $offsetY="20") </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"> UpdateLayoutConfig($c4ShapeInRow="3", $c4BoundaryInRow="1") </span></span><span class="line"><span class="cl"><span class="s">```</span></span></span></code></pre></div> <pre class="mermaid align-center zoomable">C4Context title System Context diagram fer Internet Bank'n System Enterprise_Boundary(b0, "BankBoundary0") { Person(customerA, "Bank'n Customer A", "A customer o' th' bank, wit' personal bank accounts.") Person(customerB, "Bank'n Customer B") Person_Ext(customerC, "Bank'n Customer C", "desc") Person(customerD, "Bank'n Customer D", "A customer o' th' bank, <br/> wit' personal bank accounts.") System(SystemAA, "Internet Bank'n System", "Allows customers t' view informat'n about their bank accounts, an' make payments.") Enterprise_Boundary(b1, "BankBoundary") { SystemDb_Ext(SystemE, "Mainframe Bank'n System", "Stores all o' th' core bank'n informat'n about customers, accounts, transact'ns, etc.") System_Boundary(b2, "BankBoundary2") { System(SystemA, "Bank'n System A") System(SystemB, "Bank'n System B", "A system o' th' bank, wit' personal bank accounts. next line.") } System_Ext(SystemC, "E-mail system", "The internal Microsoft Exchange e-mail system.") SystemDb(SystemD, "Bank'n System D Database", "A system o' th' bank, wit' personal bank accounts.") Boundary(b3, "BankBoundary3", "boundary") { SystemQueue(SystemF, "Bank'n System F Queue", "A system o' th' bank.") SystemQueue_Ext(SystemG, "Bank'n System G Queue", "A system o' th' bank, wit' personal bank accounts.") } } } BiRel(customerA, SystemAA, "Uses") BiRel(SystemAA, SystemE, "Uses") Rel(SystemAA, SystemC, "Sends e-mails", "SMTP") Rel(SystemC, customerA, "Sends e-mails to") UpdateElementStyle(customerA, $fontColor="red", $bgColor="grey", $borderColor="red") UpdateRelStyle(customerA, SystemAA, $textColor="blue", $lineColor="blue", $offsetX="5") UpdateRelStyle(SystemAA, SystemE, $textColor="blue", $lineColor="blue", $offsetY="-10") UpdateRelStyle(SystemAA, SystemC, $textColor="blue", $lineColor="blue", $offsetY="-40", $offsetX="-50") UpdateRelStyle(SystemC, customerA, $textColor="red", $lineColor="red", $offsetX="-50", $offsetY="20") UpdateLayoutConfig($c4ShapeInRow="3", $c4BoundaryInRow="1")</pre> <h3 id="mindmaps">Mindmaps</h3> <div class="highlight wrap-code"><pre tabindex="0" class="chroma"><code class="language-md" data-lang="md"><span class="line"><span class="cl"><span class="s">```mermaid </span></span></span><span class="line"><span class="cl"><span class="s"></span>mindmap </span></span><span class="line"><span class="cl"> root((mindmap)) </span></span><span class="line"><span class="cl"> Origins </span></span><span class="line"><span class="cl"> Long history </span></span><span class="line"><span class="cl"> ::icon(fa fa-book) </span></span><span class="line"><span class="cl"> Popularisat'n </span></span><span class="line"><span class="cl"> British popular psychology author Tony Buzan </span></span><span class="line"><span class="cl"> Research </span></span><span class="line"><span class="cl"> On effectiveness<br/>and features </span></span><span class="line"><span class="cl"> On Automatic creat'n </span></span><span class="line"><span class="cl"> Uses </span></span><span class="line"><span class="cl"> Creative techniques </span></span><span class="line"><span class="cl"> Strategic plann'n </span></span><span class="line"><span class="cl"> Argument mapp'n </span></span><span class="line"><span class="cl"> Tools </span></span><span class="line"><span class="cl"> Pen an' paper </span></span><span class="line"><span class="cl"> Merrrmaid </span></span><span class="line"><span class="cl"><span class="s">```</span></span></span></code></pre></div> <pre class="mermaid align-center zoomable">mindmap root((mindmap)) Origins Long history ::icon(fa fa-book) Popularisat'n British popular psychology author Tony Buzan Research On effectiveness<br/>and features On Automatic creat'n Uses Creative techniques Strategic plann'n Argument mapp'n Tools Pen an' paper Merrrmaid</pre> <h3 id="timeline">Timeline</h3> <div class="highlight wrap-code"><pre tabindex="0" class="chroma"><code class="language-md" data-lang="md"><span class="line"><span class="cl"><span class="s">```mermaid </span></span></span><span class="line"><span class="cl"><span class="s"></span>timeline </span></span><span class="line"><span class="cl"> title History o' Social Media Platform </span></span><span class="line"><span class="cl"> 2002 : LinkedIn </span></span><span class="line"><span class="cl"> 2004 : Facebook </span></span><span class="line"><span class="cl"> : Google </span></span><span class="line"><span class="cl"> 2005 : Youtube </span></span><span class="line"><span class="cl"> 2006 : Twitter </span></span><span class="line"><span class="cl"><span class="s">```</span></span></span></code></pre></div> <pre class="mermaid align-center zoomable">timeline title History o' Social Media Platform 2002 : LinkedIn 2004 : Facebook : Google 2005 : Youtube 2006 : Twitter</pre> <h3 id="sankey">Sankey</h3> <div class="highlight wrap-code"><pre tabindex="0" class="chroma"><code class="language-md" data-lang="md"><span class="line"><span class="cl"><span class="s">```mermaid </span></span></span><span class="line"><span class="cl"><span class="s"></span>sankey-beta </span></span><span class="line"><span class="cl"> %% source,target,value </span></span><span class="line"><span class="cl"> Electricity grid,Over generat'n / exports,104.453 </span></span><span class="line"><span class="cl"> Electricity grid,Heat'n an' cool'n - homes,113.726 </span></span><span class="line"><span class="cl"> Electricity grid,H2 conversion,27.14 </span></span><span class="line"><span class="cl"><span class="s">```</span></span></span></code></pre></div> <pre class="mermaid align-center zoomable">sankey-beta %% source,target,value Electricity grid,Over generat'n / exports,104.453 Electricity grid,Heat'n an' cool'n - homes,113.726 Electricity grid,H2 conversion,27.14</pre> <h3 id="xychart">XYChart</h3> <div class="highlight wrap-code"><pre tabindex="0" class="chroma"><code class="language-md" data-lang="md"><span class="line"><span class="cl"><span class="s">```mermaid </span></span></span><span class="line"><span class="cl"><span class="s"></span>xychart-beta </span></span><span class="line"><span class="cl"> title "Sales Revenue" </span></span><span class="line"><span class="cl"> x-axis [jan, feb, mar, apr, may, jun, jul, aug, sep, oct, nov, dec] </span></span><span class="line"><span class="cl"> y-axis "Revenue (in $)" 4000 --> 11000 </span></span><span class="line"><span class="cl"> bar [5000, 6000, 7500, 8200, 9500, 10500, 11000, 10200, 9200, 8500, 7000, 6000] </span></span><span class="line"><span class="cl"> line [5000, 6000, 7500, 8200, 9500, 10500, 11000, 10200, 9200, 8500, 7000, 6000] </span></span><span class="line"><span class="cl"><span class="s">```</span></span></span></code></pre></div> <pre class="mermaid align-center zoomable">xychart-beta title "Sales Revenue" x-axis [jan, feb, mar, apr, may, jun, jul, aug, sep, oct, nov, dec] y-axis "Revenue (in $)" 4000 --> 11000 bar [5000, 6000, 7500, 8200, 9500, 10500, 11000, 10200, 9200, 8500, 7000, 6000] line [5000, 6000, 7500, 8200, 9500, 10500, 11000, 10200, 9200, 8500, 7000, 6000]</pre> <h3 id="block-diagram">Block Diagram</h3> <div class="highlight wrap-code"><pre tabindex="0" class="chroma"><code class="language-md" data-lang="md"><span class="line"><span class="cl"><span class="s">```mermaid </span></span></span><span class="line"><span class="cl"><span class="s"></span>block-beta </span></span><span class="line"><span class="cl"> columns 1 </span></span><span class="line"><span class="cl"> db(("DB")) </span></span><span class="line"><span class="cl"> blockArrowId6<["&nbsp;&nbsp;&nbsp;"]>(down) </span></span><span class="line"><span class="cl"> block:ID </span></span><span class="line"><span class="cl"> A </span></span><span class="line"><span class="cl"> B["A wide one 'n th' middle"] </span></span><span class="line"><span class="cl"> C </span></span><span class="line"><span class="cl"> end </span></span><span class="line"><span class="cl"> space </span></span><span class="line"><span class="cl"> D </span></span><span class="line"><span class="cl"> ID --> D </span></span><span class="line"><span class="cl"> C --> D </span></span><span class="line"><span class="cl"> style B fill:#969,stroke:#333,stroke-width:4px </span></span><span class="line"><span class="cl"><span class="s">```</span></span></span></code></pre></div> <pre class="mermaid align-center zoomable">block-beta columns 1 db(("DB")) blockArrowId6<["&nbsp;&nbsp;&nbsp;"]>(down) block:ID A B["A wide one 'n th' middle"] C end space D ID --> D C --> D style B fill:#969,stroke:#333,stroke-width:4px</pre> <h3 id="packet">Packet</h3> <div class="highlight wrap-code"><pre tabindex="0" class="chroma"><code class="language-md" data-lang="md"><span class="line"><span class="cl"><span class="s">```mermaid </span></span></span><span class="line"><span class="cl"><span class="s"></span>--- </span></span><span class="line"><span class="cl">title: "TCP Packet" </span></span><span class="line"><span class="cl">--- </span></span><span class="line"><span class="cl">packet-beta </span></span><span class="line"><span class="cl"> 0-15: "Source Port" </span></span><span class="line"><span class="cl"> 16-31: "Destinat'n Port" </span></span><span class="line"><span class="cl"> 32-63: "Sequence Number" </span></span><span class="line"><span class="cl"> 64-95: "Acknowledgment Number" </span></span><span class="line"><span class="cl"> 96-99: "Data Offset" </span></span><span class="line"><span class="cl"> 100-105: "Reserved" </span></span><span class="line"><span class="cl"> 106: "URG" </span></span><span class="line"><span class="cl"> 107: "ACK" </span></span><span class="line"><span class="cl"> 108: "PSH" </span></span><span class="line"><span class="cl"> 109: "RST" </span></span><span class="line"><span class="cl"> 110: "SYN" </span></span><span class="line"><span class="cl"> 111: "FIN" </span></span><span class="line"><span class="cl"> 112-127: "Window" </span></span><span class="line"><span class="cl"> 128-143: "Checksum" </span></span><span class="line"><span class="cl"> 144-159: "Urgent Pointer" </span></span><span class="line"><span class="cl"> 160-191: "(Opt'ns an' Padding)" </span></span><span class="line"><span class="cl"> 192-255: "Data (vari'ble length)" </span></span><span class="line"><span class="cl"><span class="s">```</span></span></span></code></pre></div> <pre class="mermaid align-center zoomable">--- title: "TCP Packet" --- packet-beta 0-15: "Source Port" 16-31: "Destinat'n Port" 32-63: "Sequence Number" 64-95: "Acknowledgment Number" 96-99: "Data Offset" 100-105: "Reserved" 106: "URG" 107: "ACK" 108: "PSH" 109: "RST" 110: "SYN" 111: "FIN" 112-127: "Window" 128-143: "Checksum" 144-159: "Urgent Pointer" 160-191: "(Opt'ns an' Padding)" 192-255: "Data (vari'ble length)"</pre> <h3 id="architecture">Architecture</h3> <div class="highlight wrap-code"><pre tabindex="0" class="chroma"><code class="language-md" data-lang="md"><span class="line"><span class="cl"><span class="s">```mermaid </span></span></span><span class="line"><span class="cl"><span class="s"></span>architecture-beta </span></span><span class="line"><span class="cl"> group api(cloud)[API] </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"> service db(database)[Database] 'n api </span></span><span class="line"><span class="cl"> service disk1(disk)[Storage] 'n api </span></span><span class="line"><span class="cl"> service disk2(disk)[Storage] 'n api </span></span><span class="line"><span class="cl"> service server(server)[Server] 'n api </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"> db:L -- R:server </span></span><span class="line"><span class="cl"> disk1:T -- B:server </span></span><span class="line"><span class="cl"> disk2:T -- B:db </span></span><span class="line"><span class="cl"><span class="s">```</span></span></span></code></pre></div> <pre class="mermaid align-center zoomable">architecture-beta group api(cloud)[API] service db(database)[Database] 'n api service disk1(disk)[Storage] 'n api service disk2(disk)[Storage] 'n api service server(server)[Server] 'n api db:L -- R:server disk1:T -- B:server disk2:T -- B:db</pre> <footer class="footline"> <div class="R-taxonomy taxonomy-categories cstyle" title="Categorrries" style="--VARIABLE-TAGS-BG-color: var(--INTERNAL-TAG-BG-color);"> <i class="fa-fw fas fa-layer-group"></i> <ul> <li><a class="term-link" href="/hugo-theme-relearn/pir/categories/howto/index.html">Howto</a></li> <li><a class="term-link" href="/hugo-theme-relearn/pir/categories/reference/index.html">Reference</a></li> </ul> </div> </footer> </article> </div> </main> </div> <script src="/hugo-theme-relearn/js/clipboard.min.js?1729805740" defer></script> <script src="/hugo-theme-relearn/js/perfect-scrollbar.min.js?1729805740" defer></script> <script src="/hugo-theme-relearn/js/d3/d3-color.min.js?1729805740" defer></script> <script src="/hugo-theme-relearn/js/d3/d3-dispatch.min.js?1729805740" defer></script> <script src="/hugo-theme-relearn/js/d3/d3-drag.min.js?1729805740" defer></script> <script src="/hugo-theme-relearn/js/d3/d3-ease.min.js?1729805740" defer></script> <script src="/hugo-theme-relearn/js/d3/d3-interpolate.min.js?1729805740" defer></script> <script src="/hugo-theme-relearn/js/d3/d3-selection.min.js?1729805740" defer></script> <script src="/hugo-theme-relearn/js/d3/d3-timer.min.js?1729805740" defer></script> <script src="/hugo-theme-relearn/js/d3/d3-transition.min.js?1729805740" defer></script> <script src="/hugo-theme-relearn/js/d3/d3-zoom.min.js?1729805740" defer></script> <script src="/hugo-theme-relearn/js/js-yaml.min.js?1729805740" defer></script> <script src="/hugo-theme-relearn/js/mermaid.min.js?1729805740" defer></script> <script> window.themeUseMermaid = JSON.parse("{ \"securityLevel\": \"loose\" }"); </script> <script src="/hugo-theme-relearn/js/theme.js?1729805740" defer></script> </body> </html>