<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Documentation on Youqing Han - DevOps Engineer</title>
    <link>https://hanyouqing.com/categories/documentation/</link>
    <description>Recent content in Documentation on Youqing Han - DevOps Engineer</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <managingEditor>ihanyouqing#gmail.com (#->@) (Youqing Han)</managingEditor>
    <webMaster>ihanyouqing#gmail.com (#->@) (Youqing Han)</webMaster>
    <lastBuildDate>Fri, 22 Aug 2025 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://hanyouqing.com/categories/documentation/feed.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Complete Guide to Mermaid Diagrams in Technical Documentation</title>
      <link>https://hanyouqing.com/blog/2025/08/mermaid-diagram-guide/</link>
      <pubDate>Fri, 22 Aug 2025 00:00:00 +0000</pubDate><author>ihanyouqing#gmail.com (#->@) (Youqing Han)</author>
      <guid>https://hanyouqing.com/blog/2025/08/mermaid-diagram-guide/</guid>
      <description>&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;&#xA;&lt;p&gt;Mermaid is a powerful text-based diagram generation tool that allows you to create beautiful diagrams using simple text syntax. This guide demonstrates how to use Mermaid diagrams effectively in technical documentation, with practical examples for DevOps engineers and technical writers.&lt;/p&gt;&#xA;&lt;h2 id=&#34;flowcharts&#34;&gt;Flowcharts&lt;/h2&gt;&#xA;&lt;p&gt;Flowcharts are perfect for visualizing processes, decision trees, and system workflows.&lt;/p&gt;&#xA;&lt;h3 id=&#34;basic-flowchart&#34;&gt;Basic Flowchart&lt;/h3&gt;&#xA;&#xA;&#xA;&#xA;&lt;div class=&#34;mermaid-wrapper my-8&#34;&gt;&#xA;  &lt;div class=&#34;mermaid-container bg-white border border-gray-200 rounded-lg shadow-sm overflow-hidden&#34;&gt;&#xA;    &#xA;    &lt;div class=&#34;mermaid-header bg-gradient-to-r from-blue-50 to-indigo-50 px-4 py-3 border-b border-gray-200 flex items-center justify-between&#34;&gt;&#xA;      &lt;div class=&#34;flex items-center space-x-2&#34;&gt;&#xA;        &lt;svg class=&#34;w-5 h-5 text-blue-600&#34; fill=&#34;none&#34; stroke=&#34;currentColor&#34; viewBox=&#34;0 0 24 24&#34;&gt;&#xA;          &lt;path stroke-linecap=&#34;round&#34; stroke-linejoin=&#34;round&#34; stroke-width=&#34;2&#34; d=&#34;M9 19v-6a2 2 0 00-2-2H5a2 2 0 00-2 2v6a2 2 0 002 2h2a2 2 0 002-2zm0 0V9a2 2 0 012-2h2a2 2 0 012 2v10m-6 0a2 2 0 002 2h2a2 2 0 002-2m0 0V5a2 2 0 012-2h2a2 2 0 012 2v14a2 2 0 01-2 2h-2a2 2 0 01-2-2z&#34;&gt;&lt;/path&gt;&#xA;        &lt;/svg&gt;&#xA;        &lt;span class=&#34;text-sm font-medium text-gray-700&#34;&gt;Mermaid Diagram&lt;/span&gt;&#xA;      &lt;/div&gt;&#xA;      &lt;div class=&#34;flex items-center space-x-2&#34;&gt;&#xA;        &lt;button class=&#34;mermaid-copy-btn&#34; data-code=&#34;CmdyYXBoIFRECkFbU3RhcnRdIC0tPiBCe0lzIFVzZXIgTG9nZ2VkIEluP30KQiAtLT58WWVzfCBDW1Nob3cgRGFzaGJvYXJkXQpCIC0tPnxOb3wgRFtTaG93IExvZ2luIEZvcm1dCkMgLS0&amp;#43;IEVbVXNlciBBY3Rpb25zXQpEIC0tPiBGW1ZhbGlkYXRlIENyZWRlbnRpYWxzXQpGIC0tPiBHe1ZhbGlkP30KRyAtLT58WWVzfCBDCkcgLS0&amp;#43;fE5vfCBIW1Nob3cgRXJyb3JdCkggLS0&amp;#43;IEQKRSAtLT4gSVtFbmRd&#34;&gt;&#xA;          &lt;svg fill=&#34;none&#34; stroke=&#34;currentColor&#34; viewBox=&#34;0 0 24 24&#34;&gt;&#xA;            &lt;path stroke-linecap=&#34;round&#34; stroke-linejoin=&#34;round&#34; stroke-width=&#34;2&#34; d=&#34;M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z&#34;&gt;&lt;/path&gt;&#xA;          &lt;/svg&gt;&#xA;        &lt;/button&gt;&#xA;        &lt;button class=&#34;mermaid-fullscreen-btn&#34;&gt;&#xA;          &lt;svg fill=&#34;none&#34; stroke=&#34;currentColor&#34; viewBox=&#34;0 0 24 24&#34;&gt;&#xA;            &lt;path stroke-linecap=&#34;round&#34; stroke-linejoin=&#34;round&#34; stroke-width=&#34;2&#34; d=&#34;M4 8V4m0 0h4M4 4l5 5m11-1V4m0 0h-4m4 0l-5 5M4 16v4m0 0h4m-4 0l5-5m11 5l-5-5m5 5v-4m0 4h-4&#34;&gt;&lt;/path&gt;&#xA;          &lt;/svg&gt;&#xA;        &lt;/button&gt;&#xA;      &lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;    &#xA;    &#xA;    &lt;div class=&#34;mermaid-content p-6 bg-gray-50&#34;&gt;&#xA;      &lt;div id=&#34;mermaid-0&#34; class=&#34;mermaid-diagram text-center&#34;&gt;&#xA;        &lt;div class=&#34;mermaid-loading flex items-center justify-center py-8&#34;&gt;&#xA;          &lt;div class=&#34;animate-spin rounded-full h-8 w-8 border-b-2 border-blue-600&#34;&gt;&lt;/div&gt;&#xA;          &lt;span class=&#34;ml-3 text-gray-600&#34;&gt;Rendering diagram...&lt;/span&gt;&#xA;        &lt;/div&gt;&#xA;      &lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;script type=&#34;application/json&#34; class=&#34;mermaid-data&#34; data-id=&#34;mermaid-0&#34;&gt;&#xA;&#34;\ngraph TD\nA[Start] --\u003e B{Is User Logged In?}\nB --\u003e|Yes| C[Show Dashboard]\nB --\u003e|No| D[Show Login Form]\nC --\u003e E[User Actions]\nD --\u003e F[Validate Credentials]\nF --\u003e G{Valid?}\nG --\u003e|Yes| C\nG --\u003e|No| H[Show Error]\nH --\u003e D\nE --\u003e I[End]&#34;&#xA;&lt;/script&gt; &#xA;&#xA;&lt;h3 id=&#34;complex-system-architecture&#34;&gt;Complex System Architecture&lt;/h3&gt;&#xA;&#xA;&#xA;&#xA;&lt;div class=&#34;mermaid-wrapper my-8&#34;&gt;&#xA;  &lt;div class=&#34;mermaid-container bg-white border border-gray-200 rounded-lg shadow-sm overflow-hidden&#34;&gt;&#xA;    &#xA;    &lt;div class=&#34;mermaid-header bg-gradient-to-r from-blue-50 to-indigo-50 px-4 py-3 border-b border-gray-200 flex items-center justify-between&#34;&gt;&#xA;      &lt;div class=&#34;flex items-center space-x-2&#34;&gt;&#xA;        &lt;svg class=&#34;w-5 h-5 text-blue-600&#34; fill=&#34;none&#34; stroke=&#34;currentColor&#34; viewBox=&#34;0 0 24 24&#34;&gt;&#xA;          &lt;path stroke-linecap=&#34;round&#34; stroke-linejoin=&#34;round&#34; stroke-width=&#34;2&#34; d=&#34;M9 19v-6a2 2 0 00-2-2H5a2 2 0 00-2 2v6a2 2 0 002 2h2a2 2 0 002-2zm0 0V9a2 2 0 012-2h2a2 2 0 012 2v10m-6 0a2 2 0 002 2h2a2 2 0 002-2m0 0V5a2 2 0 012-2h2a2 2 0 012 2v14a2 2 0 01-2 2h-2a2 2 0 01-2-2z&#34;&gt;&lt;/path&gt;&#xA;        &lt;/svg&gt;&#xA;        &lt;span class=&#34;text-sm font-medium text-gray-700&#34;&gt;Mermaid Diagram&lt;/span&gt;&#xA;      &lt;/div&gt;&#xA;      &lt;div class=&#34;flex items-center space-x-2&#34;&gt;&#xA;        &lt;button class=&#34;mermaid-copy-btn&#34; data-code=&#34;CmdyYXBoIFRCCnN1YmdyYXBoICJGcm9udGVuZCIKQVtSZWFjdCBBcHBdIC0tPiBCW0FQSSBHYXRld2F5XQplbmQKCiAgICBzdWJncmFwaCAiQmFja2VuZCBTZXJ2aWNlcyIKICAgICAgICBCIC0tPiBDW1VzZXIgU2VydmljZV0KICAgICAgICBCIC0tPiBEW09yZGVyIFNlcnZpY2VdCiAgICAgICAgQiAtLT4gRVtQYXltZW50IFNlcnZpY2VdCiAgICBlbmQKCiAgICBzdWJncmFwaCAiRGF0YSBMYXllciIKICAgICAgICBDIC0tPiBGWyhVc2VyIERhdGFiYXNlKV0KICAgICAgICBEIC0tPiBHWyhPcmRlciBEYXRhYmFzZSldCiAgICAgICAgRSAtLT4gSFsoUGF5bWVudCBEYXRhYmFzZSldCiAgICBlbmQKCiAgICBzdWJncmFwaCAiRXh0ZXJuYWwgU2VydmljZXMiCiAgICAgICAgRSAtLT4gSVtTdHJpcGUgQVBJXQogICAgICAgIEUgLS0&amp;#43;IEpbUGF5UGFsIEFQSV0KICAgIGVuZAoKICAgIHN1YmdyYXBoICJNb25pdG9yaW5nIgogICAgICAgIEtbUHJvbWV0aGV1c10gLS0&amp;#43;IExbR3JhZmFuYV0KICAgICAgICBNW0VMSyBTdGFja10gLS0&amp;#43;IE5bS2liYW5hXQogICAgZW5k&#34;&gt;&#xA;          &lt;svg fill=&#34;none&#34; stroke=&#34;currentColor&#34; viewBox=&#34;0 0 24 24&#34;&gt;&#xA;            &lt;path stroke-linecap=&#34;round&#34; stroke-linejoin=&#34;round&#34; stroke-width=&#34;2&#34; d=&#34;M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z&#34;&gt;&lt;/path&gt;&#xA;          &lt;/svg&gt;&#xA;        &lt;/button&gt;&#xA;        &lt;button class=&#34;mermaid-fullscreen-btn&#34;&gt;&#xA;          &lt;svg fill=&#34;none&#34; stroke=&#34;currentColor&#34; viewBox=&#34;0 0 24 24&#34;&gt;&#xA;            &lt;path stroke-linecap=&#34;round&#34; stroke-linejoin=&#34;round&#34; stroke-width=&#34;2&#34; d=&#34;M4 8V4m0 0h4M4 4l5 5m11-1V4m0 0h-4m4 0l-5 5M4 16v4m0 0h4m-4 0l5-5m11 5l-5-5m5 5v-4m0 4h-4&#34;&gt;&lt;/path&gt;&#xA;          &lt;/svg&gt;&#xA;        &lt;/button&gt;&#xA;      &lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;    &#xA;    &#xA;    &lt;div class=&#34;mermaid-content p-6 bg-gray-50&#34;&gt;&#xA;      &lt;div id=&#34;mermaid-1&#34; class=&#34;mermaid-diagram text-center&#34;&gt;&#xA;        &lt;div class=&#34;mermaid-loading flex items-center justify-center py-8&#34;&gt;&#xA;          &lt;div class=&#34;animate-spin rounded-full h-8 w-8 border-b-2 border-blue-600&#34;&gt;&lt;/div&gt;&#xA;          &lt;span class=&#34;ml-3 text-gray-600&#34;&gt;Rendering diagram...&lt;/span&gt;&#xA;        &lt;/div&gt;&#xA;      &lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;script type=&#34;application/json&#34; class=&#34;mermaid-data&#34; data-id=&#34;mermaid-1&#34;&gt;&#xA;&#34;\ngraph TB\nsubgraph \&#34;Frontend\&#34;\nA[React App] --\u003e B[API Gateway]\nend\n\n    subgraph \&#34;Backend Services\&#34;\n        B --\u003e C[User Service]\n        B --\u003e D[Order Service]\n        B --\u003e E[Payment Service]\n    end\n\n    subgraph \&#34;Data Layer\&#34;\n        C --\u003e F[(User Database)]\n        D --\u003e G[(Order Database)]\n        E --\u003e H[(Payment Database)]\n    end\n\n    subgraph \&#34;External Services\&#34;\n        E --\u003e I[Stripe API]\n        E --\u003e J[PayPal API]\n    end\n\n    subgraph \&#34;Monitoring\&#34;\n        K[Prometheus] --\u003e L[Grafana]\n        M[ELK Stack] --\u003e N[Kibana]\n    end&#34;&#xA;&lt;/script&gt; &#xA;&#xA;&lt;h2 id=&#34;sequence-diagrams&#34;&gt;Sequence Diagrams&lt;/h2&gt;&#xA;&lt;p&gt;Sequence diagrams are excellent for showing interactions between different components or services over time.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
