@bytechain.cn/colamd 1.5.0 → 1.5.1-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (193) hide show
  1. package/.trae/specs/optimize-theme-loading/checklist.md +20 -0
  2. package/.trae/specs/optimize-theme-loading/spec.md +103 -0
  3. package/.trae/specs/optimize-theme-loading/tasks.md +40 -0
  4. package/CHANGELOG.md +323 -0
  5. package/CLAUDE.md +56 -0
  6. package/README.md +422 -26
  7. package/README_CN.md +480 -28
  8. package/android/app/build/.npmkeep +0 -0
  9. package/android/app/build.gradle +76 -0
  10. package/android/app/capacitor.build.gradle +24 -0
  11. package/android/app/proguard-rules.pro +21 -0
  12. package/android/app/release.keystore +0 -0
  13. package/android/app/src/androidTest/java/com/getcapacitor/myapp/ExampleInstrumentedTest.java +26 -0
  14. package/android/app/src/main/AndroidManifest.xml +64 -0
  15. package/android/app/src/main/java/cn/bytechain/colamd/MainActivity.java +180 -0
  16. package/android/app/src/main/res/drawable/ic_launcher_background.xml +170 -0
  17. package/android/app/src/main/res/drawable/splash.png +0 -0
  18. package/android/app/src/main/res/drawable-land-hdpi/splash.png +0 -0
  19. package/android/app/src/main/res/drawable-land-mdpi/splash.png +0 -0
  20. package/android/app/src/main/res/drawable-land-xhdpi/splash.png +0 -0
  21. package/android/app/src/main/res/drawable-land-xxhdpi/splash.png +0 -0
  22. package/android/app/src/main/res/drawable-land-xxxhdpi/splash.png +0 -0
  23. package/android/app/src/main/res/drawable-port-hdpi/splash.png +0 -0
  24. package/android/app/src/main/res/drawable-port-mdpi/splash.png +0 -0
  25. package/android/app/src/main/res/drawable-port-xhdpi/splash.png +0 -0
  26. package/android/app/src/main/res/drawable-port-xxhdpi/splash.png +0 -0
  27. package/android/app/src/main/res/drawable-port-xxxhdpi/splash.png +0 -0
  28. package/android/app/src/main/res/drawable-v24/ic_launcher_foreground.xml +34 -0
  29. package/android/app/src/main/res/layout/activity_main.xml +12 -0
  30. package/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml +5 -0
  31. package/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml +5 -0
  32. package/android/app/src/main/res/mipmap-hdpi/ic_launcher.png +0 -0
  33. package/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png +0 -0
  34. package/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png +0 -0
  35. package/android/app/src/main/res/mipmap-mdpi/ic_launcher.png +0 -0
  36. package/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png +0 -0
  37. package/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png +0 -0
  38. package/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png +0 -0
  39. package/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png +0 -0
  40. package/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png +0 -0
  41. package/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  42. package/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png +0 -0
  43. package/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png +0 -0
  44. package/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
  45. package/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png +0 -0
  46. package/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png +0 -0
  47. package/android/app/src/main/res/values/ic_launcher_background.xml +4 -0
  48. package/android/app/src/main/res/values/strings.xml +7 -0
  49. package/android/app/src/main/res/values/styles.xml +22 -0
  50. package/android/app/src/main/res/xml/file_paths.xml +5 -0
  51. package/android/app/src/main/res/xml/network_security_config.xml +8 -0
  52. package/android/app/src/test/java/com/getcapacitor/myapp/ExampleUnitTest.java +18 -0
  53. package/android/build.gradle +29 -0
  54. package/android/capacitor.settings.gradle +21 -0
  55. package/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  56. package/android/gradle/wrapper/gradle-wrapper.properties +7 -0
  57. package/android/gradle.properties +22 -0
  58. package/android/gradlew +248 -0
  59. package/android/gradlew.bat +92 -0
  60. package/android/settings.gradle +5 -0
  61. package/android/variables.gradle +16 -0
  62. package/bytechain.cn-colamd-1.5.1-beta.2.tgz +0 -0
  63. package/capacitor.config.js +29 -0
  64. package/capacitor.config.ts +30 -0
  65. package/demo.md +191 -484
  66. package/dist/main/index.js +77 -46
  67. package/dist/renderer/assets/{arc-tTbbM8LO.js → arc-CPdeInCG.js} +1 -1
  68. package/dist/renderer/assets/{architectureDiagram-3BPJPVTR-CEgYow6c.js → architectureDiagram-3BPJPVTR-BAbnaR9G.js} +4 -3
  69. package/dist/renderer/assets/{blockDiagram-GPEHLZMM-LHyVtPwW.js → blockDiagram-GPEHLZMM-CYSWjnJg.js} +5 -4
  70. package/dist/renderer/assets/{c4Diagram-AAUBKEIU-C1P1eJrf.js → c4Diagram-AAUBKEIU-Rb1tstnr.js} +3 -2
  71. package/dist/renderer/assets/{channel-upve91Tq.js → channel-DpG2A6fE.js} +1 -1
  72. package/dist/renderer/assets/{chunk-2J33WTMH-lag2vhq9.js → chunk-2J33WTMH-DFc0Jxy_.js} +1 -1
  73. package/dist/renderer/assets/{chunk-4BX2VUAB-BXJ8Ggh-.js → chunk-4BX2VUAB-BhRxDTNn.js} +1 -1
  74. package/dist/renderer/assets/{chunk-55IACEB6-CiBpxRa1.js → chunk-55IACEB6-DEgMVBk8.js} +1 -1
  75. package/dist/renderer/assets/{chunk-727SXJPM-ODeKQFXC.js → chunk-727SXJPM-bjBIfiz8.js} +5 -5
  76. package/dist/renderer/assets/{chunk-AQP2D5EJ-BK7xJolB.js → chunk-AQP2D5EJ-DwQMzTzD.js} +3 -3
  77. package/dist/renderer/assets/{chunk-FMBD7UC4-BxpCZPtz.js → chunk-FMBD7UC4-CkphwJzs.js} +1 -1
  78. package/dist/renderer/assets/{chunk-ND2GUHAM-CqqaU9Ue.js → chunk-ND2GUHAM-oU09z4y4.js} +1 -1
  79. package/dist/renderer/assets/{chunk-QZHKN3VN-Biq_K124.js → chunk-QZHKN3VN-rCbVuPBn.js} +1 -1
  80. package/dist/renderer/assets/{classDiagram-v2-Q7XG4LA2-Cq95X99o.js → classDiagram-4FO5ZUOK-DGS2faoM.js} +7 -6
  81. package/dist/renderer/assets/{classDiagram-4FO5ZUOK-Cq95X99o.js → classDiagram-v2-Q7XG4LA2-DGS2faoM.js} +7 -6
  82. package/dist/renderer/assets/{cose-bilkent-S5V4N54A-XasiD0bu.js → cose-bilkent-S5V4N54A-iqY6-EwA.js} +2 -1
  83. package/dist/renderer/assets/{dagre-BM42HDAG-Nq84Gfx4.js → dagre-BM42HDAG-5t3X5sDa.js} +4 -3
  84. package/dist/renderer/assets/{diagram-2AECGRRQ-DwuB1GWt.js → diagram-2AECGRRQ-DzHiYDPh.js} +4 -3
  85. package/dist/renderer/assets/{diagram-5GNKFQAL-C2tgeI1h.js → diagram-5GNKFQAL-BiNv6Keq.js} +5 -4
  86. package/dist/renderer/assets/{diagram-KO2AKTUF-D5KzjNBc.js → diagram-KO2AKTUF-ClzeDG6f.js} +4 -3
  87. package/dist/renderer/assets/{diagram-LMA3HP47-C12xHS1c.js → diagram-LMA3HP47-CGkw7wII.js} +4 -3
  88. package/dist/renderer/assets/{diagram-OG6HWLK6-CnxI9oEa.js → diagram-OG6HWLK6-Dl-Hyk1_.js} +5 -4
  89. package/dist/renderer/assets/{erDiagram-TEJ5UH35-D_uPaKwn.js → erDiagram-TEJ5UH35-BxUN79Qb.js} +5 -4
  90. package/dist/renderer/assets/{flowDiagram-I6XJVG4X-B6q_1-tE.js → flowDiagram-I6XJVG4X-CzFk-KNI.js} +7 -6
  91. package/dist/renderer/assets/{ganttDiagram-6RSMTGT7-CFo7ifF9.js → ganttDiagram-6RSMTGT7-C2xl6Igx.js} +3 -2
  92. package/dist/renderer/assets/{gitGraphDiagram-PVQCEYII-WSexHTnq.js → gitGraphDiagram-PVQCEYII-_fn7XCa7.js} +5 -4
  93. package/dist/renderer/assets/{graph-DyX_9f6d.js → graph-CDoHYrHm.js} +1 -1
  94. package/dist/renderer/assets/index-B4uDgADr.js +530 -0
  95. package/dist/renderer/assets/index-CBcVpA3d.js +30 -0
  96. package/dist/renderer/assets/index-CGj1spkU.js +27 -0
  97. package/dist/renderer/assets/{index-dyHEFYvY.css → index-CeFpoCKV.css} +443 -400
  98. package/dist/renderer/assets/index-D4CPFkph.js +9 -0
  99. package/dist/renderer/assets/{index-DW7LS8C1.js → index-DAlXyxzt.js} +1183 -346
  100. package/dist/renderer/assets/index-DxOzbfR-.js +110 -0
  101. package/dist/renderer/assets/index-Y89U1ptl.js +9 -0
  102. package/dist/renderer/assets/{infoDiagram-5YYISTIA-DaeJdLRq.js → infoDiagram-5YYISTIA-DL6XIxLz.js} +3 -2
  103. package/dist/renderer/assets/{ishikawaDiagram-YF4QCWOH-DDCZc35f.js → ishikawaDiagram-YF4QCWOH-BUZLjRo-.js} +2 -1
  104. package/dist/renderer/assets/{journeyDiagram-JHISSGLW-BEdmpAgl.js → journeyDiagram-JHISSGLW-C4rH_mQM.js} +5 -4
  105. package/dist/renderer/assets/{kanban-definition-UN3LZRKU-BEFtQcFb.js → kanban-definition-UN3LZRKU-DRbrBcWV.js} +3 -2
  106. package/dist/renderer/assets/{layout-CAJgQHdw.js → layout-DZl4n4qu.js} +2 -2
  107. package/dist/renderer/assets/{linear-B2ggJ8Am.js → linear-B0Krxg21.js} +1 -1
  108. package/dist/renderer/assets/{mindmap-definition-RKZ34NQL-DSxVgHB5.js → mindmap-definition-RKZ34NQL-DdmPsWrn.js} +4 -3
  109. package/dist/renderer/assets/{pieDiagram-4H26LBE5-CwYoJBuL.js → pieDiagram-4H26LBE5-BPZLqwG0.js} +5 -4
  110. package/dist/renderer/assets/preload-helper-tXtZnHb0.js +88 -0
  111. package/dist/renderer/assets/{quadrantDiagram-W4KKPZXB-CST9Fvg9.js → quadrantDiagram-W4KKPZXB-Dr-oWRk9.js} +3 -2
  112. package/dist/renderer/assets/{requirementDiagram-4Y6WPE33-DtrH52jS.js → requirementDiagram-4Y6WPE33-B6QZd0lo.js} +4 -3
  113. package/dist/renderer/assets/{sankeyDiagram-5OEKKPKP-ca1tPzJ_.js → sankeyDiagram-5OEKKPKP-Cyl9ojEt.js} +2 -1
  114. package/dist/renderer/assets/{sequenceDiagram-3UESZ5HK-Dfp1EJZ7.js → sequenceDiagram-3UESZ5HK-D48Yr9T6.js} +4 -3
  115. package/dist/renderer/assets/{stateDiagram-AJRCARHV-Bha2QoNB.js → stateDiagram-AJRCARHV-qyb8ETsa.js} +7 -6
  116. package/dist/renderer/assets/{stateDiagram-v2-BHNVJYJU-DWgFUYu1.js → stateDiagram-v2-BHNVJYJU-DmDOyyrJ.js} +5 -4
  117. package/dist/renderer/assets/{timeline-definition-PNZ67QCA-C3h_-OTj.js → timeline-definition-PNZ67QCA-C-KQxTi1.js} +3 -2
  118. package/dist/renderer/assets/{vennDiagram-CIIHVFJN-DFzjSrZi.js → vennDiagram-CIIHVFJN-BdaZlnH-.js} +2 -1
  119. package/dist/renderer/assets/{wardley-L42UT6IY-Cx-VbqoS.js → wardley-L42UT6IY-b-_GPpqL.js} +1 -1
  120. package/dist/renderer/assets/{wardleyDiagram-YWT4CUSO-S2D9XqX6.js → wardleyDiagram-YWT4CUSO-B2hBE-EE.js} +4 -3
  121. package/dist/renderer/assets/web-BKE0SH0E.js +36 -0
  122. package/dist/renderer/assets/web-CBsFp24u.js +564 -0
  123. package/dist/renderer/assets/web-Dc8YgoHP.js +24 -0
  124. package/dist/renderer/assets/web-TfDzToU7.js +58 -0
  125. package/dist/renderer/assets/{xychartDiagram-2RQKCTM6-Cfxigbts.js → xychartDiagram-2RQKCTM6-CSvswDTY.js} +3 -2
  126. package/dist/renderer/index.html +62 -3
  127. package/docs/academic-demo.md +566 -0
  128. package/docs/demo.html +748 -0
  129. package/docs/demo.md +546 -0
  130. package/docs/demo.pdf +0 -0
  131. package/docs/theme-paradigm.md +658 -0
  132. package/electron-builder.yml +7 -0
  133. package/electron.vite.config.js +31 -0
  134. package/electron.vite.config.ts +1 -1
  135. package/ios/App/App/AppDelegate.swift +49 -0
  136. package/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-512@2x.png +0 -0
  137. package/ios/App/App/Assets.xcassets/AppIcon.appiconset/Contents.json +14 -0
  138. package/ios/App/App/Assets.xcassets/Contents.json +6 -0
  139. package/ios/App/App/Assets.xcassets/Splash.imageset/Contents.json +23 -0
  140. package/ios/App/App/Assets.xcassets/Splash.imageset/splash-2732x2732-1.png +0 -0
  141. package/ios/App/App/Assets.xcassets/Splash.imageset/splash-2732x2732-2.png +0 -0
  142. package/ios/App/App/Assets.xcassets/Splash.imageset/splash-2732x2732.png +0 -0
  143. package/ios/App/App/Base.lproj/LaunchScreen.storyboard +32 -0
  144. package/ios/App/App/Base.lproj/Main.storyboard +19 -0
  145. package/ios/App/App/Info.plist +49 -0
  146. package/ios/App/App.xcodeproj/project.pbxproj +408 -0
  147. package/ios/App/App.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  148. package/ios/App/Podfile +28 -0
  149. package/package.json +23 -3
  150. package/resources/templates/slides/template-forest-ink.html +540 -0
  151. package/scripts/generate-icons.js +102 -0
  152. package/src/main/index.ts +87 -63
  153. package/src/preload/index.d.ts +51 -0
  154. package/src/preload/index.js +70 -0
  155. package/src/renderer/capacitor-api.ts +713 -0
  156. package/src/renderer/editor/editor.ts +87 -4
  157. package/src/renderer/editor/plugins/index.ts +24 -32
  158. package/src/renderer/editor/plugins/math-plugin.ts +1 -1
  159. package/src/renderer/editor/plugins/mermaid-plugin-custom.css +13 -398
  160. package/src/renderer/editor/plugins/mermaid-plugin.ts +62 -71
  161. package/src/renderer/editor/plugins/themes/base/dark.css +23 -0
  162. package/src/renderer/editor/plugins/themes/base/elegant.css +32 -0
  163. package/src/renderer/editor/plugins/themes/base/light.css +20 -0
  164. package/src/renderer/editor/plugins/themes/base/newsprint.css +27 -0
  165. package/src/renderer/editor/plugins/themes/components/mermaid/academic.css +43 -0
  166. package/src/renderer/editor/plugins/themes/components/mermaid/dark.css +20 -0
  167. package/src/renderer/editor/plugins/themes/components/mermaid/elegant.css +24 -0
  168. package/src/renderer/editor/plugins/themes/components/mermaid/light.css +21 -0
  169. package/src/renderer/editor/plugins/themes/components/mermaid/newsprint.css +26 -0
  170. package/src/renderer/editor/plugins/themes/components/mermaid/variables.css +592 -0
  171. package/src/renderer/editor/plugins/themes/foundation.css +143 -0
  172. package/src/renderer/editor/plugins/themes/theme-manager.ts +92 -0
  173. package/src/renderer/env.d.ts +4 -1
  174. package/src/renderer/index.html +59 -1
  175. package/src/renderer/main.ts +432 -57
  176. package/src/renderer/mobile.css +429 -0
  177. package/themes/README.md +3 -0
  178. package/themes/academic-paper.css +1321 -0
  179. package/themes/elegant.css +14 -7
  180. package/themes/forest-ink.css +664 -0
  181. package/themes/pixso-design.css +1261 -0
  182. package/themes/swiss-design.css +596 -0
  183. package/themes/template.css +498 -0
  184. package/tsconfig.main.json +1 -0
  185. package/tsconfig.main.tsbuildinfo +1 -0
  186. package/tsconfig.preload.json +1 -0
  187. package/tsconfig.preload.tsbuildinfo +1 -0
  188. package/tsconfig.renderer.json +1 -0
  189. package/tsconfig.renderer.tsbuildinfo +1 -0
  190. package/tsconfig.tsbuildinfo +1 -0
  191. package/.trae/documents/fix-mermaid-colors-and-sankey.md +0 -50
  192. package/src/renderer/themes/theme-manager.ts +0 -40
  193. /package/src/renderer/{themes → editor/plugins/themes}/base.css +0 -0
package/docs/demo.html ADDED
@@ -0,0 +1,748 @@
1
+ <!DOCTYPE html>
2
+ <html><head><meta charset="utf-8"><title>ColaMD Export</title>
3
+ <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.16.46/dist/katex.min.css">
4
+ <style>
5
+ body{max-width:780px;margin:40px auto;padding:20px;font-family:"LXGW WenKai", "Noto Serif SC", "Source Han Serif SC", "Songti SC", Georgia, serif;line-height:1.75;background:#f0edea;color:#2c2c2c}
6
+ h1{font-size:2em;font-weight:700;border-bottom:1px solid #d8d3ce;padding-bottom:.3em}
7
+ h2{font-size:1.5em;font-weight:600;border-bottom:1px solid #d8d3ce;padding-bottom:.25em}
8
+ h3{font-size:1.25em;font-weight:600}
9
+ strong{color:rgb(196, 75, 43)}
10
+ a{color:#c44b2b;text-decoration:none}
11
+ code{background:#e0d8cf;color:rgb(196, 75, 43);padding:2px 6px;border-radius:3px;font-size:.875em;font-family:'SF Mono','Fira Code',Menlo,monospace}
12
+ pre{background:#e8e2db;color:#3d3530;padding:16px;border-radius:6px;overflow-x:auto;margin:1em 0}
13
+ pre code{background:none;padding:0;color:inherit}
14
+ blockquote{border-left:4px solid #c44b2b;background:#eae6e1;padding-left:16px;margin:1em 0;color:#777}
15
+ table{border-collapse:collapse;width:100%;margin:1em 0}
16
+ th,td{border:1px solid #d8d3ce;padding:8px 12px}
17
+ th{background:#eae6e1;font-weight:600}
18
+ hr{border:none;border-top:2px solid #d8d3ce;margin:2em 0}
19
+ img{max-width:100%}
20
+ ::selection{background:rgba(196, 75, 43, 0.2)}
21
+ .math-inline{display:inline;padding:2px 4px;border-radius:3px;background:#f0edea}
22
+ .math-block{display:block;padding:16px;margin:1em 0;border-radius:6px;background:#f0edea;text-align:center;overflow-x:auto}
23
+ .mermaid-block{display:block;padding:16px;margin:1em 0;border-radius:6px;background:#f0edea;border:1px solid #d8d3ce}
24
+ .mermaid-preview{display:flex;justify-content:center;align-items:center}
25
+ .mermaid-preview svg{max-width:100%;height:auto}
26
+ .mermaid-preview svg .label text,.mermaid-preview svg .nodeLabel text,.mermaid-preview svg .state-title,.mermaid-preview svg .state-description,.mermaid-preview svg .pieTitleText,.mermaid-preview svg .titleText{transform:translateY(-2px)}.mermaid-preview svg .nodeLabel,.mermaid-preview svg .edgeLabel{display:inline-block;position:relative;top:-2px}
27
+ </style>
28
+ </head><body><h1 id="colamd-插件演示文档">ColaMD 插件演示文档</h1><blockquote><p>本文档用于演示 ColaMD 扩展版的 <strong>Math 公式渲染</strong> 与 <strong>Mermaid 图表渲染</strong> 能力。<br data-type="hardbreak" data-is-inline="false">每个插件均支持 <strong>Rendered(渲染模式)</strong> 和 <strong>Raw(源码模式)</strong> 一键切换。</p></blockquote><hr contenteditable="false"><h2 id="一、math-数学公式">一、Math 数学公式</h2><h3 id="1.1-行内公式(inline-math)">1.1 行内公式(Inline Math)</h3><p>行内公式使用单个 <code>$</code> 包裹,可嵌入段落中:</p><ul data-spread="true"><li data-label="•" data-list-type="bullet" data-spread="false"><p>质能方程:<span class="math-inline" data-math="E = mc^2" contenteditable="false"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>E</mi><mo>=</mo><mi>m</mi><msup><mi>c</mi><mn>2</mn></msup></mrow><annotation encoding="application/x-tex">E = mc^2</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.0576em;">E</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.8141em;"></span><span class="mord mathnormal">m</span><span class="mord"><span class="mord mathnormal">c</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8141em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">2</span></span></span></span></span></span></span></span></span></span></span></span><img class="ProseMirror-separator" alt=""><br class="ProseMirror-trailingBreak"></p></li><li data-label="•" data-list-type="bullet" data-spread="false"><p>欧拉公式:<span class="math-inline" data-math="e^{i\pi} + 1 = 0" contenteditable="false"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>e</mi><mrow><mi>i</mi><mi>π</mi></mrow></msup><mo>+</mo><mn>1</mn><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">e^{i\pi} + 1 = 0</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.908em;vertical-align:-0.0833em;"></span><span class="mord"><span class="mord mathnormal">e</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8247em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight" style="margin-right:0.0359em;">iπ</span></span></span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:0.6444em;"></span><span class="mord">1</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.6444em;"></span><span class="mord">0</span></span></span></span></span><img class="ProseMirror-separator" alt=""><br class="ProseMirror-trailingBreak"></p></li><li data-label="•" data-list-type="bullet" data-spread="false"><p>勾股定理:<span class="math-inline" data-math="a^2 + b^2 = c^2" contenteditable="false"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>a</mi><mn>2</mn></msup><mo>+</mo><msup><mi>b</mi><mn>2</mn></msup><mo>=</mo><msup><mi>c</mi><mn>2</mn></msup></mrow><annotation encoding="application/x-tex">a^2 + b^2 = c^2</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8974em;vertical-align:-0.0833em;"></span><span class="mord"><span class="mord mathnormal">a</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8141em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">2</span></span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:0.8141em;"></span><span class="mord"><span class="mord mathnormal">b</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8141em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">2</span></span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.8141em;"></span><span class="mord"><span class="mord mathnormal">c</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8141em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">2</span></span></span></span></span></span></span></span></span></span></span></span><img class="ProseMirror-separator" alt=""><br class="ProseMirror-trailingBreak"></p></li><li data-label="•" data-list-type="bullet" data-spread="false"><p>导数定义:<span class="math-inline" data-math="f'(x) = \lim_{h \to 0} \frac{f(x+h) - f(x)}{h}" contenteditable="false"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>f</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo><mo>=</mo><msub><mrow><mi>lim</mi><mo>⁡</mo></mrow><mrow><mi>h</mi><mo>→</mo><mn>0</mn></mrow></msub><mfrac><mrow><mi>f</mi><mo stretchy="false">(</mo><mi>x</mi><mo>+</mo><mi>h</mi><mo stretchy="false">)</mo><mo>−</mo><mi>f</mi><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo></mrow><mi>h</mi></mfrac></mrow><annotation encoding="application/x-tex">f'(x) = \lim_{h \to 0} \frac{f(x+h) - f(x)}{h}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1.0019em;vertical-align:-0.25em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.1076em;">f</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.7519em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">′</span></span></span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord mathnormal">x</span><span class="mclose">)</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1.355em;vertical-align:-0.345em;"></span><span class="mop"><span class="mop">lim</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3361em;"><span style="top:-2.55em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">h</span><span class="mrel mtight">→</span><span class="mord mtight">0</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.01em;"><span style="top:-2.655em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">h</span></span></span></span><span style="top:-3.23em;"><span class="pstrut" style="height:3em;"></span><span class="frac-line" style="border-bottom-width:0.04em;"></span></span><span style="top:-3.485em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight" style="margin-right:0.1076em;">f</span><span class="mopen mtight">(</span><span class="mord mathnormal mtight">x</span><span class="mbin mtight">+</span><span class="mord mathnormal mtight">h</span><span class="mclose mtight">)</span><span class="mbin mtight">−</span><span class="mord mathnormal mtight" style="margin-right:0.1076em;">f</span><span class="mopen mtight">(</span><span class="mord mathnormal mtight">x</span><span class="mclose mtight">)</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.345em;"><span></span></span></span></span></span><span class="mclose nulldelimiter"></span></span></span></span></span></span><img class="ProseMirror-separator" alt=""><br class="ProseMirror-trailingBreak"></p></li><li data-label="•" data-list-type="bullet" data-spread="false"><p>求和公式:<span class="math-inline" data-math="\sum_{i=1}^{n} x_i = x_1 + x_2 + \cdots + x_n" contenteditable="false"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mo>∑</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></msubsup><msub><mi>x</mi><mi>i</mi></msub><mo>=</mo><msub><mi>x</mi><mn>1</mn></msub><mo>+</mo><msub><mi>x</mi><mn>2</mn></msub><mo>+</mo><mo>⋯</mo><mo>+</mo><msub><mi>x</mi><mi>n</mi></msub></mrow><annotation encoding="application/x-tex">\sum_{i=1}^{n} x_i = x_1 + x_2 + \cdots + x_n</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1.104em;vertical-align:-0.2997em;"></span><span class="mop"><span class="mop op-symbol small-op" style="position:relative;top:0em;">∑</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.8043em;"><span style="top:-2.4003em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">i</span><span class="mrel mtight">=</span><span class="mord mtight">1</span></span></span></span><span style="top:-3.2029em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">n</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.2997em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord"><span class="mord mathnormal">x</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3117em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">i</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.7333em;vertical-align:-0.15em;"></span><span class="mord"><span class="mord mathnormal">x</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">1</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:0.7333em;vertical-align:-0.15em;"></span><span class="mord"><span class="mord mathnormal">x</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">2</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:0.6667em;vertical-align:-0.0833em;"></span><span class="minner">⋯</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:0.5806em;vertical-align:-0.15em;"></span><span class="mord"><span class="mord mathnormal">x</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.1514em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">n</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span></span></span></span></span><img class="ProseMirror-separator" alt=""><br class="ProseMirror-trailingBreak"></p></li><li data-label="•" data-list-type="bullet" data-spread="false"><p>积分公式:<span class="math-inline" data-math="\int_a^b f(x)\,dx = F(b) - F(a)" contenteditable="false"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mo>∫</mo><mi>a</mi><mi>b</mi></msubsup><mi>f</mi><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo><mtext> </mtext><mi>d</mi><mi>x</mi><mo>=</mo><mi>F</mi><mo stretchy="false">(</mo><mi>b</mi><mo stretchy="false">)</mo><mo>−</mo><mi>F</mi><mo stretchy="false">(</mo><mi>a</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">\int_a^b f(x)\,dx = F(b) - F(a)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1.3998em;vertical-align:-0.3558em;"></span><span class="mop"><span class="mop op-symbol small-op" style="margin-right:0.1945em;position:relative;top:-0.0006em;">∫</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.044em;"><span style="top:-2.3442em;margin-left:-0.1945em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">a</span></span></span><span style="top:-3.2579em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">b</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.3558em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord mathnormal" style="margin-right:0.1076em;">f</span><span class="mopen">(</span><span class="mord mathnormal">x</span><span class="mclose">)</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord mathnormal">d</span><span class="mord mathnormal">x</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal" style="margin-right:0.1389em;">F</span><span class="mopen">(</span><span class="mord mathnormal">b</span><span class="mclose">)</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">−</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal" style="margin-right:0.1389em;">F</span><span class="mopen">(</span><span class="mord mathnormal">a</span><span class="mclose">)</span></span></span></span></span><img class="ProseMirror-separator" alt=""><br class="ProseMirror-trailingBreak"></p></li></ul><h3 id="1.2-块级公式(block-math)">1.2 块级公式(Block Math)</h3><p>块级公式使用 <code>$$</code> 包裹,居中显示:</p><p><strong>二次方程求根公式:</strong></p><div class="math-block" data-math="x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a}" contenteditable="false"><span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>x</mi><mo>=</mo><mfrac><mrow><mo>−</mo><mi>b</mi><mo>±</mo><msqrt><mrow><msup><mi>b</mi><mn>2</mn></msup><mo>−</mo><mn>4</mn><mi>a</mi><mi>c</mi></mrow></msqrt></mrow><mrow><mn>2</mn><mi>a</mi></mrow></mfrac></mrow><annotation encoding="application/x-tex">x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">x</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:2.2764em;vertical-align:-0.686em;"></span><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.5904em;"><span style="top:-2.314em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord">2</span><span class="mord mathnormal">a</span></span></span><span style="top:-3.23em;"><span class="pstrut" style="height:3em;"></span><span class="frac-line" style="border-bottom-width:0.04em;"></span></span><span style="top:-3.677em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord">−</span><span class="mord mathnormal">b</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">±</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mord sqrt"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.9134em;"><span class="svg-align" style="top:-3em;"><span class="pstrut" style="height:3em;"></span><span class="mord" style="padding-left:0.833em;"><span class="mord"><span class="mord mathnormal">b</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.7401em;"><span style="top:-2.989em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">2</span></span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">−</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mord">4</span><span class="mord mathnormal">a</span><span class="mord mathnormal">c</span></span></span><span style="top:-2.8734em;"><span class="pstrut" style="height:3em;"></span><span class="hide-tail" style="min-width:0.853em;height:1.08em;"><svg xmlns="http://www.w3.org/2000/svg" width="400em" height="1.08em" viewBox="0 0 400000 1080" preserveAspectRatio="xMinYMin slice"><path d="M95,702
29
+ c-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14
30
+ c0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54
31
+ c44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10
32
+ s173,378,173,378c0.7,0,35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429
33
+ c69,-144,104.5,-217.7,106.5,-221
34
+ l0 -0
35
+ c5.3,-9.3,12,-14,20,-14
36
+ H400000v40H845.2724
37
+ s-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7
38
+ c-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z
39
+ M834 80h400000v40h-400000z"></path></svg></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.1266em;"><span></span></span></span></span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.686em;"><span></span></span></span></span></span><span class="mclose nulldelimiter"></span></span></span></span></span></span></div><p><strong>高斯积分:</strong></p><div class="math-block" data-math="\int_{-\infty}^{\infty} e^{-x^2} dx = \sqrt{\pi}" contenteditable="false"><span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msubsup><mo>∫</mo><mrow><mo>−</mo><mi mathvariant="normal">∞</mi></mrow><mi mathvariant="normal">∞</mi></msubsup><msup><mi>e</mi><mrow><mo>−</mo><msup><mi>x</mi><mn>2</mn></msup></mrow></msup><mi>d</mi><mi>x</mi><mo>=</mo><msqrt><mi>π</mi></msqrt></mrow><annotation encoding="application/x-tex">\int_{-\infty}^{\infty} e^{-x^2} dx = \sqrt{\pi}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:2.3846em;vertical-align:-0.9703em;"></span><span class="mop"><span class="mop op-symbol large-op" style="margin-right:0.4445em;position:relative;top:-0.0011em;">∫</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.4143em;"><span style="top:-1.7881em;margin-left:-0.4445em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">−</span><span class="mord mtight">∞</span></span></span></span><span style="top:-3.8129em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">∞</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.9703em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord"><span class="mord mathnormal">e</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:1.0369em;"><span style="top:-3.113em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">−</span><span class="mord mtight"><span class="mord mathnormal mtight">x</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8913em;"><span style="top:-2.931em;margin-right:0.0714em;"><span class="pstrut" style="height:2.5em;"></span><span class="sizing reset-size3 size1 mtight"><span class="mord mtight">2</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span><span class="mord mathnormal">d</span><span class="mord mathnormal">x</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1.04em;vertical-align:-0.1908em;"></span><span class="mord sqrt"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.8492em;"><span class="svg-align" style="top:-3em;"><span class="pstrut" style="height:3em;"></span><span class="mord" style="padding-left:0.833em;"><span class="mord mathnormal" style="margin-right:0.0359em;">π</span></span></span><span style="top:-2.8092em;"><span class="pstrut" style="height:3em;"></span><span class="hide-tail" style="min-width:0.853em;height:1.08em;"><svg xmlns="http://www.w3.org/2000/svg" width="400em" height="1.08em" viewBox="0 0 400000 1080" preserveAspectRatio="xMinYMin slice"><path d="M95,702
40
+ c-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14
41
+ c0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54
42
+ c44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10
43
+ s173,378,173,378c0.7,0,35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429
44
+ c69,-144,104.5,-217.7,106.5,-221
45
+ l0 -0
46
+ c5.3,-9.3,12,-14,20,-14
47
+ H400000v40H845.2724
48
+ s-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7
49
+ c-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z
50
+ M834 80h400000v40h-400000z"></path></svg></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.1908em;"><span></span></span></span></span></span></span></span></span></span></div><p><strong>傅里叶变换:</strong></p><div class="math-block" data-math="\hat{f}(\xi) = \int_{-\infty}^{\infty} f(x)\, e^{-2\pi i x \xi}\, dx" contenteditable="false"><span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mover accent="true"><mi>f</mi><mo>^</mo></mover><mo stretchy="false">(</mo><mi>ξ</mi><mo stretchy="false">)</mo><mo>=</mo><msubsup><mo>∫</mo><mrow><mo>−</mo><mi mathvariant="normal">∞</mi></mrow><mi mathvariant="normal">∞</mi></msubsup><mi>f</mi><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo><mtext> </mtext><msup><mi>e</mi><mrow><mo>−</mo><mn>2</mn><mi>π</mi><mi>i</mi><mi>x</mi><mi>ξ</mi></mrow></msup><mtext> </mtext><mi>d</mi><mi>x</mi></mrow><annotation encoding="application/x-tex">\hat{f}(\xi) = \int_{-\infty}^{\infty} f(x)\, e^{-2\pi i x \xi}\, dx</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1.2079em;vertical-align:-0.25em;"></span><span class="mord accent"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.9579em;"><span style="top:-3em;"><span class="pstrut" style="height:3em;"></span><span class="mord mathnormal" style="margin-right:0.1076em;">f</span></span><span style="top:-3.2634em;"><span class="pstrut" style="height:3em;"></span><span class="accent-body" style="left:-0.0833em;"><span class="mord">^</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.1944em;"><span></span></span></span></span></span><span class="mopen">(</span><span class="mord mathnormal" style="margin-right:0.046em;">ξ</span><span class="mclose">)</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:2.3846em;vertical-align:-0.9703em;"></span><span class="mop"><span class="mop op-symbol large-op" style="margin-right:0.4445em;position:relative;top:-0.0011em;">∫</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.4143em;"><span style="top:-1.7881em;margin-left:-0.4445em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">−</span><span class="mord mtight">∞</span></span></span></span><span style="top:-3.8129em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">∞</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.9703em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord mathnormal" style="margin-right:0.1076em;">f</span><span class="mopen">(</span><span class="mord mathnormal">x</span><span class="mclose">)</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord"><span class="mord mathnormal">e</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8991em;"><span style="top:-3.113em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">−</span><span class="mord mtight">2</span><span class="mord mathnormal mtight" style="margin-right:0.0359em;">π</span><span class="mord mathnormal mtight">i</span><span class="mord mathnormal mtight">x</span><span class="mord mathnormal mtight" style="margin-right:0.046em;">ξ</span></span></span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord mathnormal">d</span><span class="mord mathnormal">x</span></span></span></span></span></div><p><strong>麦克斯韦方程组(微分形式):</strong></p><div class="math-block" data-math="\begin{cases}
51
+ \nabla \cdot \mathbf{E} = \dfrac{\rho}{\varepsilon_0} \\[8pt]
52
+ \nabla \cdot \mathbf{B} = 0 \\[8pt]
53
+ \nabla \times \mathbf{E} = -\dfrac{\partial \mathbf{B}}{\partial t} \\[8pt]
54
+ \nabla \times \mathbf{B} = \mu_0 \mathbf{J} + \mu_0 \varepsilon_0 \dfrac{\partial \mathbf{E}}{\partial t}
55
+ \end{cases}" contenteditable="false"><span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mo fence="true">{</mo><mtable rowspacing="0.36em" columnalign="left left" columnspacing="1em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="false"><mrow><mi mathvariant="normal">∇</mi><mo>⋅</mo><mi mathvariant="bold">E</mi><mo>=</mo><mstyle scriptlevel="0" displaystyle="true"><mfrac><mi>ρ</mi><msub><mi>ε</mi><mn>0</mn></msub></mfrac></mstyle></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="false"><mrow><mi mathvariant="normal">∇</mi><mo>⋅</mo><mi mathvariant="bold">B</mi><mo>=</mo><mn>0</mn></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="false"><mrow><mi mathvariant="normal">∇</mi><mo>×</mo><mi mathvariant="bold">E</mi><mo>=</mo><mo>−</mo><mstyle scriptlevel="0" displaystyle="true"><mfrac><mrow><mi mathvariant="normal">∂</mi><mi mathvariant="bold">B</mi></mrow><mrow><mi mathvariant="normal">∂</mi><mi>t</mi></mrow></mfrac></mstyle></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="false"><mrow><mi mathvariant="normal">∇</mi><mo>×</mo><mi mathvariant="bold">B</mi><mo>=</mo><msub><mi>μ</mi><mn>0</mn></msub><mi mathvariant="bold">J</mi><mo>+</mo><msub><mi>μ</mi><mn>0</mn></msub><msub><mi>ε</mi><mn>0</mn></msub><mstyle scriptlevel="0" displaystyle="true"><mfrac><mrow><mi mathvariant="normal">∂</mi><mi mathvariant="bold">E</mi></mrow><mrow><mi mathvariant="normal">∂</mi><mi>t</mi></mrow></mfrac></mstyle></mrow></mstyle></mtd></mtr></mtable></mrow><annotation encoding="application/x-tex">\begin{cases}
56
+ \nabla \cdot \mathbf{E} = \dfrac{\rho}{\varepsilon_0} \\[8pt]
57
+ \nabla \cdot \mathbf{B} = 0 \\[8pt]
58
+ \nabla \times \mathbf{E} = -\dfrac{\partial \mathbf{B}}{\partial t} \\[8pt]
59
+ \nabla \times \mathbf{B} = \mu_0 \mathbf{J} + \mu_0 \varepsilon_0 \dfrac{\partial \mathbf{E}}{\partial t}
60
+ \end{cases}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:9.2404em;vertical-align:-4.3702em;"></span><span class="minner"><span class="mopen"><span class="delimsizing mult"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:4.75em;"><span style="top:-1.366em;"><span class="pstrut" style="height:4.716em;"></span><span class="delimsizinginner delim-size4"><span>⎩</span></span></span><span style="top:-1.358em;"><span class="pstrut" style="height:4.716em;"></span><span style="height:2.716em;width:0.8889em;"><svg xmlns="http://www.w3.org/2000/svg" width="0.8889em" height="2.716em" style="width:0.8889em" viewBox="0 0 888.89 2716" preserveAspectRatio="xMinYMin"><path d="M384 0 H504 V2716 H384z M384 0 H504 V2716 H384z"></path></svg></span></span><span style="top:-4.716em;"><span class="pstrut" style="height:4.716em;"></span><span class="delimsizinginner delim-size4"><span>⎨</span></span></span><span style="top:-5.858em;"><span class="pstrut" style="height:4.716em;"></span><span style="height:2.716em;width:0.8889em;"><svg xmlns="http://www.w3.org/2000/svg" width="0.8889em" height="2.716em" style="width:0.8889em" viewBox="0 0 888.89 2716" preserveAspectRatio="xMinYMin"><path d="M384 0 H504 V2716 H384z M384 0 H504 V2716 H384z"></path></svg></span></span><span style="top:-8.566em;"><span class="pstrut" style="height:4.716em;"></span><span class="delimsizinginner delim-size4"><span>⎧</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:4.25em;"><span></span></span></span></span></span></span><span class="mord"><span class="mtable"><span class="col-align-l"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:4.8702em;"><span style="top:-7.1341em;"><span class="pstrut" style="height:3.3714em;"></span><span class="mord"><span class="mord">∇</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">⋅</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mord mathbf">E</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.1076em;"><span style="top:-2.314em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord"><span class="mord mathnormal">ε</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">0</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span></span></span><span style="top:-3.23em;"><span class="pstrut" style="height:3em;"></span><span class="frac-line" style="border-bottom-width:0.04em;"></span></span><span style="top:-3.677em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord mathnormal">ρ</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.836em;"><span></span></span></span></span></span><span class="mclose nulldelimiter"></span></span></span></span><span style="top:-4.8941em;"><span class="pstrut" style="height:3.3714em;"></span><span class="mord"><span class="mord">∇</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">⋅</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mord mathbf">B</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mord">0</span></span></span><span style="top:-2.2907em;"><span class="pstrut" style="height:3.3714em;"></span><span class="mord"><span class="mord">∇</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">×</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mord mathbf">E</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mord">−</span><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.3714em;"><span style="top:-2.314em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord" style="margin-right:0.0556em;">∂</span><span class="mord mathnormal">t</span></span></span><span style="top:-3.23em;"><span class="pstrut" style="height:3em;"></span><span class="frac-line" style="border-bottom-width:0.04em;"></span></span><span style="top:-3.677em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord" style="margin-right:0.0556em;">∂</span><span class="mord mathbf">B</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.686em;"><span></span></span></span></span></span><span class="mclose nulldelimiter"></span></span></span></span><span style="top:0.3128em;"><span class="pstrut" style="height:3.3714em;"></span><span class="mord"><span class="mord">∇</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">×</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mord mathbf">B</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mord"><span class="mord mathnormal">μ</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">0</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mord mathbf">J</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mord"><span class="mord mathnormal">μ</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">0</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mord"><span class="mord mathnormal">ε</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">0</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.3714em;"><span style="top:-2.314em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord" style="margin-right:0.0556em;">∂</span><span class="mord mathnormal">t</span></span></span><span style="top:-3.23em;"><span class="pstrut" style="height:3em;"></span><span class="frac-line" style="border-bottom-width:0.04em;"></span></span><span style="top:-3.677em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord" style="margin-right:0.0556em;">∂</span><span class="mord mathbf">E</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.686em;"><span></span></span></span></span></span><span class="mclose nulldelimiter"></span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:4.3702em;"><span></span></span></span></span></span></span></span><span class="mclose nulldelimiter"></span></span></span></span></span></span></div><p><strong>爱因斯坦场方程:</strong></p><div class="math-block" data-math="G_{\mu\nu} + \Lambda g_{\mu\nu} = \frac{8\pi G}{c^4} T_{\mu\nu}" contenteditable="false"><span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mi>G</mi><mrow><mi>μ</mi><mi>ν</mi></mrow></msub><mo>+</mo><mi mathvariant="normal">Λ</mi><msub><mi>g</mi><mrow><mi>μ</mi><mi>ν</mi></mrow></msub><mo>=</mo><mfrac><mrow><mn>8</mn><mi>π</mi><mi>G</mi></mrow><msup><mi>c</mi><mn>4</mn></msup></mfrac><msub><mi>T</mi><mrow><mi>μ</mi><mi>ν</mi></mrow></msub></mrow><annotation encoding="application/x-tex">G_{\mu\nu} + \Lambda g_{\mu\nu} = \frac{8\pi G}{c^4} T_{\mu\nu}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.9694em;vertical-align:-0.2861em;"></span><span class="mord"><span class="mord mathnormal">G</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.1514em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight" style="margin-right:0.0637em;">μν</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.2861em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:0.9694em;vertical-align:-0.2861em;"></span><span class="mord">Λ</span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0359em;">g</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.1514em;"><span style="top:-2.55em;margin-left:-0.0359em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight" style="margin-right:0.0637em;">μν</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.2861em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:2.0463em;vertical-align:-0.686em;"></span><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.3603em;"><span style="top:-2.314em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord"><span class="mord mathnormal">c</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.7401em;"><span style="top:-2.989em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">4</span></span></span></span></span></span></span></span></span></span><span style="top:-3.23em;"><span class="pstrut" style="height:3em;"></span><span class="frac-line" style="border-bottom-width:0.04em;"></span></span><span style="top:-3.677em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord">8</span><span class="mord mathnormal" style="margin-right:0.0359em;">π</span><span class="mord mathnormal">G</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.686em;"><span></span></span></span></span></span><span class="mclose nulldelimiter"></span></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.1389em;">T</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.1514em;"><span style="top:-2.55em;margin-left:-0.1389em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight" style="margin-right:0.0637em;">μν</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.2861em;"><span></span></span></span></span></span></span></span></span></span></span></div><p><strong>矩阵形式:</strong></p><div class="math-block" data-math="\mathbf{A} = \begin{bmatrix}
61
+ a_{11} &amp; a_{12} &amp; a_{13} \\
62
+ a_{21} &amp; a_{22} &amp; a_{23} \\
63
+ a_{31} &amp; a_{32} &amp; a_{33}
64
+ \end{bmatrix},
65
+ \quad
66
+ \mathbf{A}^{-1} = \frac{1}{\det(\mathbf{A})} \begin{bmatrix}
67
+ C_{11} &amp; C_{21} &amp; C_{31} \\
68
+ C_{12} &amp; C_{22} &amp; C_{32} \\
69
+ C_{13} &amp; C_{23} &amp; C_{33}
70
+ \end{bmatrix}" contenteditable="false"><span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi mathvariant="bold">A</mi><mo>=</mo><mrow><mo fence="true">[</mo><mtable rowspacing="0.16em" columnalign="center center center" columnspacing="1em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="false"><msub><mi>a</mi><mn>11</mn></msub></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="false"><msub><mi>a</mi><mn>12</mn></msub></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="false"><msub><mi>a</mi><mn>13</mn></msub></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="false"><msub><mi>a</mi><mn>21</mn></msub></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="false"><msub><mi>a</mi><mn>22</mn></msub></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="false"><msub><mi>a</mi><mn>23</mn></msub></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="false"><msub><mi>a</mi><mn>31</mn></msub></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="false"><msub><mi>a</mi><mn>32</mn></msub></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="false"><msub><mi>a</mi><mn>33</mn></msub></mstyle></mtd></mtr></mtable><mo fence="true">]</mo></mrow><mo separator="true">,</mo><mspace width="1em"></mspace><msup><mi mathvariant="bold">A</mi><mrow><mo>−</mo><mn>1</mn></mrow></msup><mo>=</mo><mfrac><mn>1</mn><mrow><mi>det</mi><mo>⁡</mo><mo stretchy="false">(</mo><mi mathvariant="bold">A</mi><mo stretchy="false">)</mo></mrow></mfrac><mrow><mo fence="true">[</mo><mtable rowspacing="0.16em" columnalign="center center center" columnspacing="1em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="false"><msub><mi>C</mi><mn>11</mn></msub></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="false"><msub><mi>C</mi><mn>21</mn></msub></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="false"><msub><mi>C</mi><mn>31</mn></msub></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="false"><msub><mi>C</mi><mn>12</mn></msub></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="false"><msub><mi>C</mi><mn>22</mn></msub></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="false"><msub><mi>C</mi><mn>32</mn></msub></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="false"><msub><mi>C</mi><mn>13</mn></msub></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="false"><msub><mi>C</mi><mn>23</mn></msub></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="false"><msub><mi>C</mi><mn>33</mn></msub></mstyle></mtd></mtr></mtable><mo fence="true">]</mo></mrow></mrow><annotation encoding="application/x-tex">\mathbf{A} = \begin{bmatrix}
71
+ a_{11} &amp; a_{12} &amp; a_{13} \\
72
+ a_{21} &amp; a_{22} &amp; a_{23} \\
73
+ a_{31} &amp; a_{32} &amp; a_{33}
74
+ \end{bmatrix},
75
+ \quad
76
+ \mathbf{A}^{-1} = \frac{1}{\det(\mathbf{A})} \begin{bmatrix}
77
+ C_{11} &amp; C_{21} &amp; C_{31} \\
78
+ C_{12} &amp; C_{22} &amp; C_{32} \\
79
+ C_{13} &amp; C_{23} &amp; C_{33}
80
+ \end{bmatrix}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6861em;"></span><span class="mord mathbf">A</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:3.6em;vertical-align:-1.55em;"></span><span class="minner"><span class="mopen"><span class="delimsizing mult"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:2.05em;"><span style="top:-4.05em;"><span class="pstrut" style="height:5.6em;"></span><span style="width:0.667em;height:3.6em;"><svg xmlns="http://www.w3.org/2000/svg" width="0.667em" height="3.6em" viewBox="0 0 667 3600"><path d="M403 1759 V84 H666 V0 H319 V1759 v0 v1759 h347 v-84
81
+ H403z M403 1759 V0 H319 V1759 v0 v1759 h84z"></path></svg></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:1.55em;"><span></span></span></span></span></span></span><span class="mord"><span class="mtable"><span class="col-align-c"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:2.05em;"><span style="top:-4.21em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord"><span class="mord mathnormal">a</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">11</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span></span></span><span style="top:-3.01em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord"><span class="mord mathnormal">a</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">21</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span></span></span><span style="top:-1.81em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord"><span class="mord mathnormal">a</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">31</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:1.55em;"><span></span></span></span></span></span><span class="arraycolsep" style="width:0.5em;"></span><span class="arraycolsep" style="width:0.5em;"></span><span class="col-align-c"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:2.05em;"><span style="top:-4.21em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord"><span class="mord mathnormal">a</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">12</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span></span></span><span style="top:-3.01em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord"><span class="mord mathnormal">a</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">22</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span></span></span><span style="top:-1.81em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord"><span class="mord mathnormal">a</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">32</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:1.55em;"><span></span></span></span></span></span><span class="arraycolsep" style="width:0.5em;"></span><span class="arraycolsep" style="width:0.5em;"></span><span class="col-align-c"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:2.05em;"><span style="top:-4.21em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord"><span class="mord mathnormal">a</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">13</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span></span></span><span style="top:-3.01em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord"><span class="mord mathnormal">a</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">23</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span></span></span><span style="top:-1.81em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord"><span class="mord mathnormal">a</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">33</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:1.55em;"><span></span></span></span></span></span></span></span><span class="mclose"><span class="delimsizing mult"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:2.05em;"><span style="top:-4.05em;"><span class="pstrut" style="height:5.6em;"></span><span style="width:0.667em;height:3.6em;"><svg xmlns="http://www.w3.org/2000/svg" width="0.667em" height="3.6em" viewBox="0 0 667 3600"><path d="M347 1759 V0 H0 V84 H263 V1759 v0 v1759 H0 v84 H347z
82
+ M347 1759 V0 H263 V1759 v0 v1759 h84z"></path></svg></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:1.55em;"><span></span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mpunct">,</span><span class="mspace" style="margin-right:1em;"></span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord"><span class="mord mathbf">A</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8641em;"><span style="top:-3.113em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">−</span><span class="mord mtight">1</span></span></span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:3.6em;vertical-align:-1.55em;"></span><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.3214em;"><span style="top:-2.314em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mop">det</span><span class="mopen">(</span><span class="mord mathbf">A</span><span class="mclose">)</span></span></span><span style="top:-3.23em;"><span class="pstrut" style="height:3em;"></span><span class="frac-line" style="border-bottom-width:0.04em;"></span></span><span style="top:-3.677em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord">1</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.936em;"><span></span></span></span></span></span><span class="mclose nulldelimiter"></span></span><span class="mspace" style="margin-right:0.1667em;"></span><span class="minner"><span class="mopen"><span class="delimsizing mult"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:2.05em;"><span style="top:-4.05em;"><span class="pstrut" style="height:5.6em;"></span><span style="width:0.667em;height:3.6em;"><svg xmlns="http://www.w3.org/2000/svg" width="0.667em" height="3.6em" viewBox="0 0 667 3600"><path d="M403 1759 V84 H666 V0 H319 V1759 v0 v1759 h347 v-84
83
+ H403z M403 1759 V0 H319 V1759 v0 v1759 h84z"></path></svg></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:1.55em;"><span></span></span></span></span></span></span><span class="mord"><span class="mtable"><span class="col-align-c"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:2.05em;"><span style="top:-4.21em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord"><span class="mord mathnormal" style="margin-right:0.0715em;">C</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-left:-0.0715em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">11</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span></span></span><span style="top:-3.01em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord"><span class="mord mathnormal" style="margin-right:0.0715em;">C</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-left:-0.0715em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">12</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span></span></span><span style="top:-1.81em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord"><span class="mord mathnormal" style="margin-right:0.0715em;">C</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-left:-0.0715em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">13</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:1.55em;"><span></span></span></span></span></span><span class="arraycolsep" style="width:0.5em;"></span><span class="arraycolsep" style="width:0.5em;"></span><span class="col-align-c"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:2.05em;"><span style="top:-4.21em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord"><span class="mord mathnormal" style="margin-right:0.0715em;">C</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-left:-0.0715em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">21</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span></span></span><span style="top:-3.01em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord"><span class="mord mathnormal" style="margin-right:0.0715em;">C</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-left:-0.0715em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">22</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span></span></span><span style="top:-1.81em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord"><span class="mord mathnormal" style="margin-right:0.0715em;">C</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-left:-0.0715em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">23</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:1.55em;"><span></span></span></span></span></span><span class="arraycolsep" style="width:0.5em;"></span><span class="arraycolsep" style="width:0.5em;"></span><span class="col-align-c"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:2.05em;"><span style="top:-4.21em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord"><span class="mord mathnormal" style="margin-right:0.0715em;">C</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-left:-0.0715em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">31</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span></span></span><span style="top:-3.01em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord"><span class="mord mathnormal" style="margin-right:0.0715em;">C</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-left:-0.0715em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">32</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span></span></span><span style="top:-1.81em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord"><span class="mord mathnormal" style="margin-right:0.0715em;">C</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-left:-0.0715em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">33</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:1.55em;"><span></span></span></span></span></span></span></span><span class="mclose"><span class="delimsizing mult"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:2.05em;"><span style="top:-4.05em;"><span class="pstrut" style="height:5.6em;"></span><span style="width:0.667em;height:3.6em;"><svg xmlns="http://www.w3.org/2000/svg" width="0.667em" height="3.6em" viewBox="0 0 667 3600"><path d="M347 1759 V0 H0 V84 H263 V1759 v0 v1759 H0 v84 H347z
84
+ M347 1759 V0 H263 V1759 v0 v1759 h84z"></path></svg></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:1.55em;"><span></span></span></span></span></span></span></span></span></span></span></span></div><hr contenteditable="false"><h2 id="二、mermaid-图表">二、Mermaid 图表</h2><h3 id="2.1-流程图(flowchart-/-graph)">2.1 流程图(Flowchart / Graph)</h3><div class="mermaid-block" data-mermaid="graph TD
85
+ A[开始] --> B{条件判断}
86
+ B -->|条件成立| C[执行操作1]
87
+ B -->|条件不成立| D[执行操作2]
88
+ C --> E[结束]
89
+ D --> E" contenteditable="false"><div class="mermaid-preview"><svg id="mermaid-1" width="100%" xmlns="http://www.w3.org/2000/svg" class="flowchart" style="max-width: 329.015625px;" viewBox="0 0 329.015625 470" role="graphics-document document" aria-roledescription="flowchart-v2"><style>#mermaid-1{font-family:"LXGW WenKai","Noto Serif SC","Source Han Serif SC","Songti SC",Georgia,serif;font-size:16px;fill:#3d3530;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-1 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-1 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-1 .error-icon{fill:#552222;}#mermaid-1 .error-text{fill:#552222;stroke:#552222;}#mermaid-1 .edge-thickness-normal{stroke-width:1px;}#mermaid-1 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-1 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-1 .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-1 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-1 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-1 .marker{fill:#b0a89f;stroke:#b0a89f;}#mermaid-1 .marker.cross{stroke:#b0a89f;}#mermaid-1 svg{font-family:"LXGW WenKai","Noto Serif SC","Source Han Serif SC","Songti SC",Georgia,serif;font-size:16px;}#mermaid-1 p{margin:0;}#mermaid-1 .label{font-family:"LXGW WenKai","Noto Serif SC","Source Han Serif SC","Songti SC",Georgia,serif;color:#3d3530;}#mermaid-1 .cluster-label text{fill:#3d3530;}#mermaid-1 .cluster-label span{color:#3d3530;}#mermaid-1 .cluster-label span p{background-color:transparent;}#mermaid-1 .label text,#mermaid-1 span{fill:#3d3530;color:#3d3530;}#mermaid-1 .node rect,#mermaid-1 .node circle,#mermaid-1 .node ellipse,#mermaid-1 .node polygon,#mermaid-1 .node path{fill:#ddd5cb;stroke:#b0a89f;stroke-width:1px;}#mermaid-1 .rough-node .label text,#mermaid-1 .node .label text,#mermaid-1 .image-shape .label,#mermaid-1 .icon-shape .label{text-anchor:middle;}#mermaid-1 .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-1 .rough-node .label,#mermaid-1 .node .label,#mermaid-1 .image-shape .label,#mermaid-1 .icon-shape .label{text-align:center;}#mermaid-1 .node.clickable{cursor:pointer;}#mermaid-1 .root .anchor path{fill:#b0a89f!important;stroke-width:0;stroke:#b0a89f;}#mermaid-1 .arrowheadPath{fill:#b0a89f;}#mermaid-1 .edgePath .path{stroke:#b0a89f;stroke-width:1px;}#mermaid-1 .flowchart-link{stroke:#b0a89f;fill:none;}#mermaid-1 .edgeLabel{background-color:#e8e2db;text-align:center;}#mermaid-1 .edgeLabel p{background-color:#e8e2db;}#mermaid-1 .edgeLabel rect{opacity:0.5;background-color:#e8e2db;fill:#e8e2db;}#mermaid-1 .labelBkg{background-color:rgba(232, 226, 219, 0.5);}#mermaid-1 .cluster rect{fill:#e0d8cf;stroke:#b0a89f;stroke-width:1px;}#mermaid-1 .cluster text{fill:#3d3530;}#mermaid-1 .cluster span{color:#3d3530;}#mermaid-1 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"LXGW WenKai","Noto Serif SC","Source Han Serif SC","Songti SC",Georgia,serif;font-size:12px;background:#e8e2db;border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-1 .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#3d3530;}#mermaid-1 rect.text{fill:none;stroke-width:0;}#mermaid-1 .icon-shape,#mermaid-1 .image-shape{background-color:#e8e2db;text-align:center;}#mermaid-1 .icon-shape p,#mermaid-1 .image-shape p{background-color:#e8e2db;padding:2px;}#mermaid-1 .icon-shape .label rect,#mermaid-1 .image-shape .label rect{opacity:0.5;background-color:#e8e2db;fill:#e8e2db;}#mermaid-1 .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-1 .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-1 .node .neo-node{stroke:#b0a89f;}#mermaid-1 [data-look="neo"].node rect,#mermaid-1 [data-look="neo"].cluster rect,#mermaid-1 [data-look="neo"].node polygon{stroke:#b0a89f;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-1 [data-look="neo"].node path{stroke:#b0a89f;stroke-width:1px;}#mermaid-1 [data-look="neo"].node .outer-path{filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-1 [data-look="neo"].node .neo-line path{stroke:#b0a89f;filter:none;}#mermaid-1 [data-look="neo"].node circle{stroke:#b0a89f;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-1 [data-look="neo"].node circle .state-start{fill:#000000;}#mermaid-1 [data-look="neo"].icon-shape .icon{fill:#b0a89f;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-1 [data-look="neo"].icon-shape .icon-neo path{stroke:#b0a89f;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-1 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}</style><g><marker id="mermaid-1_flowchart-v2-pointEnd" class="marker flowchart-v2" viewBox="0 0 10 10" refX="5" refY="5" markerUnits="userSpaceOnUse" markerWidth="8" markerHeight="8" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"></path></marker><marker id="mermaid-1_flowchart-v2-pointStart" class="marker flowchart-v2" viewBox="0 0 10 10" refX="4.5" refY="5" markerUnits="userSpaceOnUse" markerWidth="8" markerHeight="8" orient="auto"><path d="M 0 5 L 10 10 L 10 0 z" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"></path></marker><marker id="mermaid-1_flowchart-v2-pointEnd-margin" class="marker flowchart-v2" viewBox="0 0 11.5 14" refX="11.5" refY="7" markerUnits="userSpaceOnUse" markerWidth="10.5" markerHeight="14" orient="auto"><path d="M 0 0 L 11.5 7 L 0 14 z" class="arrowMarkerPath" style="stroke-width: 0; stroke-dasharray: 1, 0;"></path></marker><marker id="mermaid-1_flowchart-v2-pointStart-margin" class="marker flowchart-v2" viewBox="0 0 11.5 14" refX="1" refY="7" markerUnits="userSpaceOnUse" markerWidth="11.5" markerHeight="14" orient="auto"><polygon points="0,7 11.5,14 11.5,0" class="arrowMarkerPath" style="stroke-width: 0; stroke-dasharray: 1, 0;"></polygon></marker><marker id="mermaid-1_flowchart-v2-circleEnd" class="marker flowchart-v2" viewBox="0 0 10 10" refX="11" refY="5" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"></circle></marker><marker id="mermaid-1_flowchart-v2-circleStart" class="marker flowchart-v2" viewBox="0 0 10 10" refX="-1" refY="5" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"></circle></marker><marker id="mermaid-1_flowchart-v2-circleEnd-margin" class="marker flowchart-v2" viewBox="0 0 10 10" refY="5" refX="12.25" markerUnits="userSpaceOnUse" markerWidth="14" markerHeight="14" orient="auto"><circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 0; stroke-dasharray: 1, 0;"></circle></marker><marker id="mermaid-1_flowchart-v2-circleStart-margin" class="marker flowchart-v2" viewBox="0 0 10 10" refX="-2" refY="5" markerUnits="userSpaceOnUse" markerWidth="14" markerHeight="14" orient="auto"><circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 0; stroke-dasharray: 1, 0;"></circle></marker><marker id="mermaid-1_flowchart-v2-crossEnd" class="marker cross flowchart-v2" viewBox="0 0 11 11" refX="12" refY="5.2" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><path d="M 1,1 l 9,9 M 10,1 l -9,9" class="arrowMarkerPath" style="stroke-width: 2; stroke-dasharray: 1, 0;"></path></marker><marker id="mermaid-1_flowchart-v2-crossStart" class="marker cross flowchart-v2" viewBox="0 0 11 11" refX="-1" refY="5.2" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><path d="M 1,1 l 9,9 M 10,1 l -9,9" class="arrowMarkerPath" style="stroke-width: 2; stroke-dasharray: 1, 0;"></path></marker><marker id="mermaid-1_flowchart-v2-crossEnd-margin" class="marker cross flowchart-v2" viewBox="0 0 15 15" refX="17.7" refY="7.5" markerUnits="userSpaceOnUse" markerWidth="12" markerHeight="12" orient="auto"><path d="M 1,1 L 14,14 M 1,14 L 14,1" class="arrowMarkerPath" style="stroke-width: 2.5;"></path></marker><marker id="mermaid-1_flowchart-v2-crossStart-margin" class="marker cross flowchart-v2" viewBox="0 0 15 15" refX="-3.5" refY="7.5" markerUnits="userSpaceOnUse" markerWidth="12" markerHeight="12" orient="auto"><path d="M 1,1 L 14,14 M 1,14 L 14,1" class="arrowMarkerPath" style="stroke-width: 2.5; stroke-dasharray: 1, 0;"></path></marker><g class="root"><g class="clusters"></g><g class="edgePaths"><path d="M164.508,62L164.508,66.167C164.508,70.333,164.508,78.667,164.508,86.333C164.508,94,164.508,101,164.508,104.5L164.508,108" id="mermaid-1-L_A_B_0" class=" edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_A_B_0" data-points="W3sieCI6MTY0LjUwNzgxMjUsInkiOjYyfSx7IngiOjE2NC41MDc4MTI1LCJ5Ijo4N30seyJ4IjoxNjQuNTA3ODEyNSwieSI6MTEyfV0=" data-look="classic" marker-end="url(#mermaid-1_flowchart-v2-pointEnd)"></path><path d="M135.836,201.329L125.489,212.274C115.142,223.219,94.448,245.11,84.101,261.555C73.754,278,73.754,289,73.754,294.5L73.754,300" id="mermaid-1-L_B_C_0" class=" edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_B_C_0" data-points="W3sieCI6MTM1LjgzNjQ5NTM4Mzk3NTgzLCJ5IjoyMDEuMzI4NjgyODgzOTc1ODN9LHsieCI6NzMuNzUzOTA2MjUsInkiOjI2N30seyJ4Ijo3My43NTM5MDYyNSwieSI6MzA0fV0=" data-look="classic" marker-end="url(#mermaid-1_flowchart-v2-pointEnd)"></path><path d="M193.179,201.329L203.526,212.274C213.873,223.219,234.568,245.11,244.915,261.555C255.262,278,255.262,289,255.262,294.5L255.262,300" id="mermaid-1-L_B_D_0" class=" edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_B_D_0" data-points="W3sieCI6MTkzLjE3OTEyOTYxNjAyNDE3LCJ5IjoyMDEuMzI4NjgyODgzOTc1ODN9LHsieCI6MjU1LjI2MTcxODc1LCJ5IjoyNjd9LHsieCI6MjU1LjI2MTcxODc1LCJ5IjozMDR9XQ==" data-look="classic" marker-end="url(#mermaid-1_flowchart-v2-pointEnd)"></path><path d="M73.754,358L73.754,362.167C73.754,366.333,73.754,374.667,80.634,382.776C87.515,390.885,101.276,398.77,108.157,402.712L115.037,406.654" id="mermaid-1-L_C_E_0" class=" edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_C_E_0" data-points="W3sieCI6NzMuNzUzOTA2MjUsInkiOjM1OH0seyJ4Ijo3My43NTM5MDYyNSwieSI6MzgzfSx7IngiOjExOC41MDc4MTI1LCJ5Ijo0MDguNjQzMDA3NzkwNjQyNn1d" data-look="classic" marker-end="url(#mermaid-1_flowchart-v2-pointEnd)"></path><path d="M255.262,358L255.262,362.167C255.262,366.333,255.262,374.667,248.381,382.776C241.501,390.885,227.74,398.77,220.859,402.712L213.978,406.654" id="mermaid-1-L_D_E_0" class=" edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_D_E_0" data-points="W3sieCI6MjU1LjI2MTcxODc1LCJ5IjozNTh9LHsieCI6MjU1LjI2MTcxODc1LCJ5IjozODN9LHsieCI6MjEwLjUwNzgxMjUsInkiOjQwOC42NDMwMDc3OTA2NDI2fV0=" data-look="classic" marker-end="url(#mermaid-1_flowchart-v2-pointEnd)"></path></g><g class="edgeLabels"><g class="edgeLabel"><g class="label" data-id="L_A_B_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel "></span></div></foreignObject></g></g><g class="edgeLabel" transform="translate(73.75390625, 267)"><g class="label" data-id="L_B_C_0" transform="translate(-32, -12)"><foreignObject width="64" height="30"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel "><p>条件成立</p></span></div></foreignObject></g></g><g class="edgeLabel" transform="translate(255.26171875, 267)"><g class="label" data-id="L_B_D_0" transform="translate(-40, -12)"><foreignObject width="80" height="30"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel "><p>条件不成立</p></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_C_E_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel "></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_D_E_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel "></span></div></foreignObject></g></g></g><g class="nodes"><g class="node default " id="mermaid-1-flowchart-A-0" data-look="classic" transform="translate(164.5078125, 35)"><rect class="basic label-container" style="" x="-46" y="-27" width="92" height="60"></rect><g class="label" style="" transform="translate(-16, -12)"><rect></rect><foreignObject width="32" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel "><p>开始</p></span></div></foreignObject></g></g><g class="node default " id="mermaid-1-flowchart-B-1" data-look="classic" transform="translate(164.5078125, 171)"><polygon points="59,0 118,-59 59,-118 0,-59" class="label-container" transform="translate(-58.5, 59)"></polygon><g class="label" style="" transform="translate(-32, -12)"><rect></rect><foreignObject width="64" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel "><p>条件判断</p></span></div></foreignObject></g></g><g class="node default " id="mermaid-1-flowchart-C-3" data-look="classic" transform="translate(73.75390625, 331)"><rect class="basic label-container" style="" x="-65.75390625" y="-27" width="131.5078125" height="60"></rect><g class="label" style="" transform="translate(-35.75390625, -12)"><rect></rect><foreignObject width="71.5078125" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel "><p>执行操作1</p></span></div></foreignObject></g></g><g class="node default " id="mermaid-1-flowchart-D-5" data-look="classic" transform="translate(255.26171875, 331)"><rect class="basic label-container" style="" x="-65.75390625" y="-27" width="131.5078125" height="60"></rect><g class="label" style="" transform="translate(-35.75390625, -12)"><rect></rect><foreignObject width="71.5078125" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel "><p>执行操作2</p></span></div></foreignObject></g></g><g class="node default " id="mermaid-1-flowchart-E-7" data-look="classic" transform="translate(164.5078125, 435)"><rect class="basic label-container" style="" x="-46" y="-27" width="92" height="60"></rect><g class="label" style="" transform="translate(-16, -12)"><rect></rect><foreignObject width="32" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel "><p>结束</p></span></div></foreignObject></g></g></g></g></g><defs><filter id="mermaid-1-drop-shadow" height="130%" width="130%"><feDropShadow dx="4" dy="4" stdDeviation="0" flood-opacity="0.06" flood-color="#000000"></feDropShadow></filter></defs><defs><filter id="mermaid-1-drop-shadow-small" height="150%" width="150%"><feDropShadow dx="2" dy="2" stdDeviation="0" flood-opacity="0.06" flood-color="#000000"></feDropShadow></filter></defs></svg></div></div><h3 id="2.2-时序图(sequence-diagram)">2.2 时序图(Sequence Diagram)</h3><div class="mermaid-block" data-mermaid="sequenceDiagram
90
+ participant U as 用户
91
+ participant C as ColaMD
92
+ participant A as AI Agent
93
+ participant F as 文件系统
94
+
95
+ U->>C: 打开 .md 文件
96
+ C->>F: fs.watch 监听文件
97
+ A->>F: 修改文件内容
98
+ F-->>C: 触发变更事件
99
+ C-->>U: 实时刷新显示
100
+ U->>C: 切换 Rendered/Raw 模式
101
+ C-->>U: 渲染公式与图表" contenteditable="false"><div class="mermaid-preview"><svg id="mermaid-2" width="100%" xmlns="http://www.w3.org/2000/svg" style="max-width: 882px;" viewBox="-50 -10 882 497" role="graphics-document document" aria-roledescription="sequence"><g><rect x="632" y="411" fill="#eaeaea" stroke="#666" width="150" height="65" name="F" rx="3" ry="3" class="actor actor-bottom"></rect><text x="707" y="443.5" dominant-baseline="central" alignment-baseline="central" class="actor actor-box" style="text-anchor: middle; font-size: 14px; font-weight: 400;"><tspan x="707" dy="0">文件系统</tspan></text></g><g><rect x="432" y="411" fill="#eaeaea" stroke="#666" width="150" height="65" name="A" rx="3" ry="3" class="actor actor-bottom"></rect><text x="507" y="443.5" dominant-baseline="central" alignment-baseline="central" class="actor actor-box" style="text-anchor: middle; font-size: 14px; font-weight: 400;"><tspan x="507" dy="0">AI Agent</tspan></text></g><g><rect x="232" y="411" fill="#eaeaea" stroke="#666" width="150" height="65" name="C" rx="3" ry="3" class="actor actor-bottom"></rect><text x="307" y="443.5" dominant-baseline="central" alignment-baseline="central" class="actor actor-box" style="text-anchor: middle; font-size: 14px; font-weight: 400;"><tspan x="307" dy="0">ColaMD</tspan></text></g><g><rect x="0" y="411" fill="#eaeaea" stroke="#666" width="150" height="65" name="U" rx="3" ry="3" class="actor actor-bottom"></rect><text x="75" y="443.5" dominant-baseline="central" alignment-baseline="central" class="actor actor-box" style="text-anchor: middle; font-size: 14px; font-weight: 400;"><tspan x="75" dy="0">用户</tspan></text></g><g><line id="actor3" x1="707" y1="65" x2="707" y2="411" class="actor-line 200" stroke-width="0.5px" stroke="#999" name="F" data-et="life-line" data-id="F"></line><g id="root-3" data-et="participant" data-type="participant" data-id="F"><rect x="632" y="0" fill="#eaeaea" stroke="#666" width="150" height="65" name="F" rx="3" ry="3" class="actor actor-top"></rect><text x="707" y="32.5" dominant-baseline="central" alignment-baseline="central" class="actor actor-box" style="text-anchor: middle; font-size: 14px; font-weight: 400;"><tspan x="707" dy="0">文件系统</tspan></text></g></g><g><line id="actor2" x1="507" y1="65" x2="507" y2="411" class="actor-line 200" stroke-width="0.5px" stroke="#999" name="A" data-et="life-line" data-id="A"></line><g id="root-2" data-et="participant" data-type="participant" data-id="A"><rect x="432" y="0" fill="#eaeaea" stroke="#666" width="150" height="65" name="A" rx="3" ry="3" class="actor actor-top"></rect><text x="507" y="32.5" dominant-baseline="central" alignment-baseline="central" class="actor actor-box" style="text-anchor: middle; font-size: 14px; font-weight: 400;"><tspan x="507" dy="0">AI Agent</tspan></text></g></g><g><line id="actor1" x1="307" y1="65" x2="307" y2="411" class="actor-line 200" stroke-width="0.5px" stroke="#999" name="C" data-et="life-line" data-id="C"></line><g id="root-1" data-et="participant" data-type="participant" data-id="C"><rect x="232" y="0" fill="#eaeaea" stroke="#666" width="150" height="65" name="C" rx="3" ry="3" class="actor actor-top"></rect><text x="307" y="32.5" dominant-baseline="central" alignment-baseline="central" class="actor actor-box" style="text-anchor: middle; font-size: 14px; font-weight: 400;"><tspan x="307" dy="0">ColaMD</tspan></text></g></g><g><line id="actor0" x1="75" y1="65" x2="75" y2="411" class="actor-line 200" stroke-width="0.5px" stroke="#999" name="U" data-et="life-line" data-id="U"></line><g id="root-0" data-et="participant" data-type="participant" data-id="U"><rect x="0" y="0" fill="#eaeaea" stroke="#666" width="150" height="65" name="U" rx="3" ry="3" class="actor actor-top"></rect><text x="75" y="32.5" dominant-baseline="central" alignment-baseline="central" class="actor actor-box" style="text-anchor: middle; font-size: 14px; font-weight: 400;"><tspan x="75" dy="0">用户</tspan></text></g></g><style>#mermaid-2{font-family:"LXGW WenKai","Noto Serif SC","Source Han Serif SC","Songti SC",Georgia,serif;font-size:16px;fill:#3d3530;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-2 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-2 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-2 .error-icon{fill:#552222;}#mermaid-2 .error-text{fill:#552222;stroke:#552222;}#mermaid-2 .edge-thickness-normal{stroke-width:1px;}#mermaid-2 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-2 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-2 .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-2 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-2 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-2 .marker{fill:#b0a89f;stroke:#b0a89f;}#mermaid-2 .marker.cross{stroke:#b0a89f;}#mermaid-2 svg{font-family:"LXGW WenKai","Noto Serif SC","Source Han Serif SC","Songti SC",Georgia,serif;font-size:16px;}#mermaid-2 p{margin:0;}#mermaid-2 .actor{stroke:#9370DB;fill:#ddd5cb;stroke-width:1;}#mermaid-2 rect.actor.outer-path[data-look="neo"]{filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-2 rect.note[data-look="neo"]{stroke:#aaaa33;fill:#fff5ad;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-2 text.actor&gt;tspan{fill:black;stroke:none;}#mermaid-2 .actor-line{stroke:#9370DB;}#mermaid-2 .innerArc{stroke-width:1.5;stroke-dasharray:none;}#mermaid-2 .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#3d3530;}#mermaid-2 .messageLine1{stroke-width:1.5;stroke-dasharray:2,2;stroke:#3d3530;}#mermaid-2 [id$="-arrowhead"] path{fill:#3d3530;stroke:#3d3530;}#mermaid-2 .sequenceNumber{fill:white;}#mermaid-2 [id$="-sequencenumber"]{fill:#3d3530;}#mermaid-2 [id$="-crosshead"] path{fill:#3d3530;stroke:#3d3530;}#mermaid-2 .messageText{fill:#3d3530;stroke:none;}#mermaid-2 .labelBox{stroke:#9370DB;fill:#ddd5cb;filter:none;}#mermaid-2 .labelText,#mermaid-2 .labelText&gt;tspan{fill:#3d3530;stroke:none;}#mermaid-2 .loopText,#mermaid-2 .loopText&gt;tspan{fill:black;stroke:none;}#mermaid-2 .sectionTitle,#mermaid-2 .sectionTitle&gt;tspan{fill:black;stroke:none;}#mermaid-2 .loopLine{stroke-width:2px;stroke-dasharray:2,2;stroke:#9370DB;fill:#9370DB;}#mermaid-2 .note{stroke:#aaaa33;fill:#fff5ad;}#mermaid-2 .noteText,#mermaid-2 .noteText&gt;tspan{fill:black;stroke:none;font-weight:normal;}#mermaid-2 .activation0{fill:#f4f4f4;stroke:#666;}#mermaid-2 .activation1{fill:#f4f4f4;stroke:#666;}#mermaid-2 .activation2{fill:#f4f4f4;stroke:#666;}#mermaid-2 .actorPopupMenu{position:absolute;}#mermaid-2 .actorPopupMenuPanel{position:absolute;fill:#ddd5cb;box-shadow:0px 8px 16px 0px rgba(0,0,0,0.2);filter:drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4));}#mermaid-2 .actor-man circle,#mermaid-2 line{fill:#ddd5cb;stroke-width:2px;}#mermaid-2 g rect.rect{filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));stroke:#b0a89f;}#mermaid-2 .node .neo-node{stroke:#b0a89f;}#mermaid-2 [data-look="neo"].node rect,#mermaid-2 [data-look="neo"].cluster rect,#mermaid-2 [data-look="neo"].node polygon{stroke:#b0a89f;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-2 [data-look="neo"].node path{stroke:#b0a89f;stroke-width:1px;}#mermaid-2 [data-look="neo"].node .outer-path{filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-2 [data-look="neo"].node .neo-line path{stroke:#b0a89f;filter:none;}#mermaid-2 [data-look="neo"].node circle{stroke:#b0a89f;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-2 [data-look="neo"].node circle .state-start{fill:#000000;}#mermaid-2 [data-look="neo"].icon-shape .icon{fill:#b0a89f;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-2 [data-look="neo"].icon-shape .icon-neo path{stroke:#b0a89f;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-2 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}</style><g></g><defs><symbol id="mermaid-2-computer" width="24" height="24"><path transform="scale(.5)" d="M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z"></path></symbol></defs><defs><symbol id="mermaid-2-database" fill-rule="evenodd" clip-rule="evenodd"><path transform="scale(.5)" d="M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z"></path></symbol></defs><defs><symbol id="mermaid-2-clock" width="24" height="24"><path transform="scale(.5)" d="M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z"></path></symbol></defs><defs><marker id="mermaid-2-arrowhead" refX="7.9" refY="5" markerUnits="userSpaceOnUse" markerWidth="12" markerHeight="12" orient="auto-start-reverse"><path d="M -1 0 L 10 5 L 0 10 z"></path></marker></defs><defs><marker id="mermaid-2-crosshead" markerWidth="15" markerHeight="8" orient="auto" refX="4" refY="4.5"><path fill="none" stroke="#000000" stroke-width="1pt" d="M 1,2 L 6,7 M 6,2 L 1,7" style="stroke-dasharray: 0, 0;"></path></marker></defs><defs><marker id="mermaid-2-filled-head" refX="15.5" refY="7" markerWidth="20" markerHeight="28" orient="auto"><path d="M 18,7 L9,13 L14,7 L9,1 Z"></path></marker></defs><defs><marker id="mermaid-2-sequencenumber" refX="15" refY="15" markerWidth="60" markerHeight="40" orient="auto"><circle cx="15" cy="15" r="6"></circle></marker></defs><defs><marker id="mermaid-2-solidTopArrowHead" refX="7.9" refY="7.25" markerUnits="userSpaceOnUse" markerWidth="12" markerHeight="12" orient="auto-start-reverse"><path d="M 0 0 L 10 8 L 0 8 z"></path></marker></defs><defs><marker id="mermaid-2-solidBottomArrowHead" refX="7.9" refY="0.75" markerUnits="userSpaceOnUse" markerWidth="12" markerHeight="12" orient="auto-start-reverse"><path d="M 0 0 L 10 0 L 0 8 z"></path></marker></defs><defs><marker id="mermaid-2-stickTopArrowHead" refX="7.5" refY="7" markerUnits="userSpaceOnUse" markerWidth="12" markerHeight="12" orient="auto-start-reverse"><path d="M 0 0 L 7 7" stroke="black" stroke-width="1.5" fill="none"></path></marker></defs><defs><marker id="mermaid-2-stickBottomArrowHead" refX="7.5" refY="0" markerUnits="userSpaceOnUse" markerWidth="12" markerHeight="12" orient="auto-start-reverse"><path d="M 0 7 L 7 0" stroke="black" stroke-width="1.5" fill="none"></path></marker></defs><text x="190" y="80" text-anchor="middle" dominant-baseline="middle" alignment-baseline="middle" class="messageText" dy="1em" style="font-size: 14px; font-weight: 400;">打开 .md 文件</text><line x1="76" y1="115" x2="303" y2="115" class="messageLine0" data-et="message" data-id="i0" data-from="U" data-to="C" stroke-width="2" stroke="none" marker-end="url(#mermaid-2-arrowhead)" style="fill: none;"></line><text x="506" y="130" text-anchor="middle" dominant-baseline="middle" alignment-baseline="middle" class="messageText" dy="1em" style="font-size: 14px; font-weight: 400;">fs.watch 监听文件</text><line x1="308" y1="165" x2="703" y2="165" class="messageLine0" data-et="message" data-id="i1" data-from="C" data-to="F" stroke-width="2" stroke="none" marker-end="url(#mermaid-2-arrowhead)" style="fill: none;"></line><text x="606" y="180" text-anchor="middle" dominant-baseline="middle" alignment-baseline="middle" class="messageText" dy="1em" style="font-size: 14px; font-weight: 400;">修改文件内容</text><line x1="508" y1="209" x2="703" y2="209" class="messageLine0" data-et="message" data-id="i2" data-from="A" data-to="F" stroke-width="2" stroke="none" marker-end="url(#mermaid-2-arrowhead)" style="fill: none;"></line><text x="509" y="224" text-anchor="middle" dominant-baseline="middle" alignment-baseline="middle" class="messageText" dy="1em" style="font-size: 14px; font-weight: 400;">触发变更事件</text><line x1="706" y1="253" x2="311" y2="253" class="messageLine1" data-et="message" data-id="i3" data-from="F" data-to="C" stroke-width="2" stroke="none" marker-end="url(#mermaid-2-arrowhead)" style="stroke-dasharray: 3, 3; fill: none;"></line><text x="193" y="268" text-anchor="middle" dominant-baseline="middle" alignment-baseline="middle" class="messageText" dy="1em" style="font-size: 14px; font-weight: 400;">实时刷新显示</text><line x1="306" y1="297" x2="79" y2="297" class="messageLine1" data-et="message" data-id="i4" data-from="C" data-to="U" stroke-width="2" stroke="none" marker-end="url(#mermaid-2-arrowhead)" style="stroke-dasharray: 3, 3; fill: none;"></line><text x="190" y="312" text-anchor="middle" dominant-baseline="middle" alignment-baseline="middle" class="messageText" dy="1em" style="font-size: 14px; font-weight: 400;">切换 Rendered/Raw 模式</text><line x1="76" y1="347" x2="303" y2="347" class="messageLine0" data-et="message" data-id="i5" data-from="U" data-to="C" stroke-width="2" stroke="none" marker-end="url(#mermaid-2-arrowhead)" style="fill: none;"></line><text x="193" y="362" text-anchor="middle" dominant-baseline="middle" alignment-baseline="middle" class="messageText" dy="1em" style="font-size: 14px; font-weight: 400;">渲染公式与图表</text><line x1="306" y1="391" x2="79" y2="391" class="messageLine1" data-et="message" data-id="i6" data-from="C" data-to="U" stroke-width="2" stroke="none" marker-end="url(#mermaid-2-arrowhead)" style="stroke-dasharray: 3, 3; fill: none;"></line></svg></div></div><h3 id="2.3-类图(class-diagram)">2.3 类图(Class Diagram)</h3><div class="mermaid-block" data-mermaid="classDiagram
102
+ class PluginManager {
103
+ +Map plugins
104
+ +register(plugin)
105
+ +get(id)
106
+ +toggle(id, mode)
107
+ }
108
+
109
+ class MathPlugin {
110
+ +String id = &quot;math&quot;
111
+ +render(node)
112
+ +toRaw(node)
113
+ +exportPNG(node)
114
+ }
115
+
116
+ class MermaidPlugin {
117
+ +String id = &quot;mermaid&quot;
118
+ +render(node)
119
+ +toRaw(node)
120
+ +exportPNG(node)
121
+ }
122
+
123
+ PluginManager --> MathPlugin : manages
124
+ PluginManager --> MermaidPlugin : manages" contenteditable="false"><div class="mermaid-preview"><svg id="mermaid-3" width="100%" xmlns="http://www.w3.org/2000/svg" class="classDiagram" style="max-width: 492.53125px;" viewBox="0 0 492.53125 474" role="graphics-document document" aria-roledescription="class"><style>#mermaid-3{font-family:"LXGW WenKai","Noto Serif SC","Source Han Serif SC","Songti SC",Georgia,serif;font-size:16px;fill:#3d3530;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-3 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-3 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-3 .error-icon{fill:#552222;}#mermaid-3 .error-text{fill:#552222;stroke:#552222;}#mermaid-3 .edge-thickness-normal{stroke-width:1px;}#mermaid-3 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-3 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-3 .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-3 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-3 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-3 .marker{fill:#b0a89f;stroke:#b0a89f;}#mermaid-3 .marker.cross{stroke:#b0a89f;}#mermaid-3 svg{font-family:"LXGW WenKai","Noto Serif SC","Source Han Serif SC","Songti SC",Georgia,serif;font-size:16px;}#mermaid-3 p{margin:0;}#mermaid-3 g.classGroup text{fill:#b0a89f;stroke:none;font-family:"LXGW WenKai","Noto Serif SC","Source Han Serif SC","Songti SC",Georgia,serif;font-size:10px;}#mermaid-3 g.classGroup text .title{font-weight:bolder;}#mermaid-3 .cluster-label text{fill:#3d3530;}#mermaid-3 .cluster-label span{color:#3d3530;}#mermaid-3 .cluster-label span p{background-color:transparent;}#mermaid-3 .cluster rect{fill:#e0d8cf;stroke:#b0a89f;stroke-width:1px;}#mermaid-3 .cluster text{fill:#3d3530;}#mermaid-3 .cluster span{color:#3d3530;}#mermaid-3 .nodeLabel,#mermaid-3 .edgeLabel{color:#3d3530;}#mermaid-3 .noteLabel .nodeLabel,#mermaid-3 .noteLabel .edgeLabel{color:black;}#mermaid-3 .edgeLabel .label rect{fill:#ddd5cb;}#mermaid-3 .label text{fill:#3d3530;}#mermaid-3 .labelBkg{background:#ddd5cb;}#mermaid-3 .edgeLabel .label span{background:#ddd5cb;}#mermaid-3 .classTitle{font-weight:bolder;}#mermaid-3 .node rect,#mermaid-3 .node circle,#mermaid-3 .node ellipse,#mermaid-3 .node polygon,#mermaid-3 .node path{fill:#ddd5cb;stroke:#b0a89f;stroke-width:1;}#mermaid-3 .divider{stroke:#b0a89f;stroke-width:1;}#mermaid-3 g.clickable{cursor:pointer;}#mermaid-3 g.classGroup rect{fill:#ddd5cb;stroke:#b0a89f;}#mermaid-3 g.classGroup line{stroke:#b0a89f;stroke-width:1;}#mermaid-3 .classLabel .box{stroke:none;stroke-width:0;fill:#ddd5cb;opacity:0.5;}#mermaid-3 .classLabel .label{fill:#b0a89f;font-size:10px;}#mermaid-3 .relation{stroke:#b0a89f;stroke-width:1;fill:none;}#mermaid-3 .dashed-line{stroke-dasharray:3;}#mermaid-3 .dotted-line{stroke-dasharray:1 2;}#mermaid-3 [id$="-compositionStart"],#mermaid-3 .composition{fill:#b0a89f!important;stroke:#b0a89f!important;stroke-width:1;}#mermaid-3 [id$="-compositionEnd"],#mermaid-3 .composition{fill:#b0a89f!important;stroke:#b0a89f!important;stroke-width:1;}#mermaid-3 [id$="-dependencyStart"],#mermaid-3 .dependency{fill:#b0a89f!important;stroke:#b0a89f!important;stroke-width:1;}#mermaid-3 [id$="-dependencyEnd"],#mermaid-3 .dependency{fill:#b0a89f!important;stroke:#b0a89f!important;stroke-width:1;}#mermaid-3 [id$="-extensionStart"],#mermaid-3 .extension{fill:transparent!important;stroke:#b0a89f!important;stroke-width:1;}#mermaid-3 [id$="-extensionEnd"],#mermaid-3 .extension{fill:transparent!important;stroke:#b0a89f!important;stroke-width:1;}#mermaid-3 [id$="-aggregationStart"],#mermaid-3 .aggregation{fill:transparent!important;stroke:#b0a89f!important;stroke-width:1;}#mermaid-3 [id$="-aggregationEnd"],#mermaid-3 .aggregation{fill:transparent!important;stroke:#b0a89f!important;stroke-width:1;}#mermaid-3 [id$="-lollipopStart"],#mermaid-3 .lollipop{fill:#ddd5cb!important;stroke:#b0a89f!important;stroke-width:1;}#mermaid-3 [id$="-lollipopEnd"],#mermaid-3 .lollipop{fill:#ddd5cb!important;stroke:#b0a89f!important;stroke-width:1;}#mermaid-3 .edgeTerminals{font-size:11px;line-height:initial;}#mermaid-3 .classTitleText{text-anchor:middle;font-size:18px;fill:#3d3530;}#mermaid-3 .edgeLabel[data-look="neo"]{background-color:#e8e2db;text-align:center;}#mermaid-3 .edgeLabel[data-look="neo"] p{background-color:#e8e2db;}#mermaid-3 .edgeLabel[data-look="neo"] rect{opacity:0.5;background-color:#e8e2db;fill:#e8e2db;}#mermaid-3 .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-3 .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-3 .node .neo-node{stroke:#b0a89f;}#mermaid-3 [data-look="neo"].node rect,#mermaid-3 [data-look="neo"].cluster rect,#mermaid-3 [data-look="neo"].node polygon{stroke:#b0a89f;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-3 [data-look="neo"].node path{stroke:#b0a89f;stroke-width:1px;}#mermaid-3 [data-look="neo"].node .outer-path{filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-3 [data-look="neo"].node .neo-line path{stroke:#b0a89f;filter:none;}#mermaid-3 [data-look="neo"].node circle{stroke:#b0a89f;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-3 [data-look="neo"].node circle .state-start{fill:#000000;}#mermaid-3 [data-look="neo"].icon-shape .icon{fill:#b0a89f;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-3 [data-look="neo"].icon-shape .icon-neo path{stroke:#b0a89f;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-3 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}</style><g><defs><marker id="mermaid-3_class-aggregationStart" class="marker aggregation class" refX="18" refY="7" markerWidth="190" markerHeight="240" orient="auto"><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id="mermaid-3_class-aggregationEnd" class="marker aggregation class" refX="1" refY="7" markerWidth="20" markerHeight="28" orient="auto"><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id="mermaid-3_class-aggregationStart-margin" class="marker aggregation class" refX="15" refY="7" markerWidth="190" markerHeight="240" orient="auto" markerUnits="userSpaceOnUse"><path d="M 18,7 L9,13 L1,7 L9,1 Z" style="stroke-width: 2;"></path></marker></defs><defs><marker id="mermaid-3_class-aggregationEnd-margin" class="marker aggregation class" refX="1" refY="7" markerWidth="20" markerHeight="28" orient="auto" markerUnits="userSpaceOnUse"><path d="M 18,7 L9,13 L1,7 L9,1 Z" style="stroke-width: 2;"></path></marker></defs><defs><marker id="mermaid-3_class-extensionStart" class="marker extension class" refX="18" refY="7" markerWidth="20" markerHeight="28" orient="auto" markerUnits="userSpaceOnUse"><path d="M 1,7 L18,13 V 1 Z"></path></marker></defs><defs><marker id="mermaid-3_class-extensionEnd" class="marker extension class" refX="1" refY="7" markerWidth="20" markerHeight="28" orient="auto"><path d="M 1,1 V 13 L18,7 Z"></path></marker></defs><marker id="mermaid-3_class-extensionStart-margin" class="marker extension class" refX="18" refY="7" markerWidth="20" markerHeight="28" orient="auto" markerUnits="userSpaceOnUse" viewBox="0 0 20 14"><polygon points="10,7 18,13 18,1" style="stroke-width: 2; stroke-dasharray: 0;"></polygon></marker><defs><marker id="mermaid-3_class-extensionEnd-margin" class="marker extension class" refX="9" refY="7" markerWidth="20" markerHeight="28" orient="auto" markerUnits="userSpaceOnUse" viewBox="0 0 20 14"><polygon points="10,1 10,13 18,7" style="stroke-width: 2; stroke-dasharray: 0;"></polygon></marker></defs><defs><marker id="mermaid-3_class-compositionStart" class="marker composition class" refX="18" refY="7" markerWidth="190" markerHeight="240" orient="auto"><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id="mermaid-3_class-compositionEnd" class="marker composition class" refX="1" refY="7" markerWidth="20" markerHeight="28" orient="auto"><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id="mermaid-3_class-compositionStart-margin" class="marker composition class" refX="15" refY="7" markerWidth="190" markerHeight="240" orient="auto" markerUnits="userSpaceOnUse"><path viewBox="0 0 15 15" d="M 18,7 L9,13 L1,7 L9,1 Z" style="stroke-width: 0;"></path></marker></defs><defs><marker id="mermaid-3_class-compositionEnd-margin" class="marker composition class" refX="3.5" refY="7" markerWidth="20" markerHeight="28" orient="auto" markerUnits="userSpaceOnUse"><path d="M 18,7 L9,13 L1,7 L9,1 Z" style="stroke-width: 0;"></path></marker></defs><defs><marker id="mermaid-3_class-dependencyStart" class="marker dependency class" refX="6" refY="7" markerWidth="190" markerHeight="240" orient="auto"><path d="M 5,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id="mermaid-3_class-dependencyEnd" class="marker dependency class" refX="13" refY="7" markerWidth="20" markerHeight="28" orient="auto"><path d="M 18,7 L9,13 L14,7 L9,1 Z"></path></marker></defs><defs><marker id="mermaid-3_class-dependencyStart-margin" class="marker dependency class" refX="4" refY="7" markerWidth="190" markerHeight="240" orient="auto" markerUnits="userSpaceOnUse"><path d="M 5,7 L9,13 L1,7 L9,1 Z" style="stroke-width: 0;"></path></marker></defs><defs><marker id="mermaid-3_class-dependencyEnd-margin" class="marker dependency class" refX="16" refY="7" markerWidth="20" markerHeight="28" orient="auto" markerUnits="userSpaceOnUse"><path d="M 18,7 L9,13 L14,7 L9,1 Z" style="stroke-width: 0;"></path></marker></defs><defs><marker id="mermaid-3_class-lollipopStart" class="marker lollipop class" refX="13" refY="7" markerWidth="190" markerHeight="240" orient="auto"><circle fill="transparent" cx="7" cy="7" r="6"></circle></marker></defs><defs><marker id="mermaid-3_class-lollipopEnd" class="marker lollipop class" refX="1" refY="7" markerWidth="190" markerHeight="240" orient="auto"><circle fill="transparent" cx="7" cy="7" r="6"></circle></marker></defs><defs><marker id="mermaid-3_class-lollipopStart-margin" class="marker lollipop class" refX="13" refY="7" markerWidth="190" markerHeight="240" orient="auto" markerUnits="userSpaceOnUse"><circle fill="transparent" cx="7" cy="7" r="6" stroke-width="2"></circle></marker></defs><defs><marker id="mermaid-3_class-lollipopEnd-margin" class="marker lollipop class" refX="1" refY="7" markerWidth="190" markerHeight="240" orient="auto" markerUnits="userSpaceOnUse"><circle fill="transparent" cx="7" cy="7" r="6" stroke-width="2"></circle></marker></defs><g class="root"><g class="clusters"></g><g class="edgePaths"><path d="M142.348,199.874L136.224,206.062C130.1,212.249,117.852,224.625,111.728,235.979C105.604,247.333,105.604,257.667,105.604,262.833L105.604,268" id="mermaid-3-id_PluginManager_MathPlugin_1" class=" edge-thickness-normal edge-pattern-solid relation" style=";;;" data-edge="true" data-et="edge" data-id="id_PluginManager_MathPlugin_1" data-points="W3sieCI6MTQyLjM0NzY1NjI1LCJ5IjoxOTkuODc0MjIxMDIyMDE5MTN9LHsieCI6MTA1LjYwMzUxNTYyNSwieSI6MjM3fSx7IngiOjEwNS42MDM1MTU2MjUsInkiOjI3NH1d" data-look="classic" marker-end="url(#mermaid-3_class-dependencyEnd)"></path><path d="M332.125,199.874L338.249,206.062C344.373,212.249,356.621,224.625,362.745,235.979C368.869,247.333,368.869,257.667,368.869,262.833L368.869,268" id="mermaid-3-id_PluginManager_MermaidPlugin_2" class=" edge-thickness-normal edge-pattern-solid relation" style=";;;" data-edge="true" data-et="edge" data-id="id_PluginManager_MermaidPlugin_2" data-points="W3sieCI6MzMyLjEyNSwieSI6MTk5Ljg3NDIyMTAyMjAxOTEzfSx7IngiOjM2OC44NjkxNDA2MjUsInkiOjIzN30seyJ4IjozNjguODY5MTQwNjI1LCJ5IjoyNzR9XQ==" data-look="classic" marker-end="url(#mermaid-3_class-dependencyEnd)"></path></g><g class="edgeLabels"><g class="edgeLabel" transform="translate(105.603515625, 237)"><g class="label" data-id="id_PluginManager_MathPlugin_1" transform="translate(-28.71484375, -12)"><foreignObject width="57.4296875" height="30"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel "><p>manages</p></span></div></foreignObject></g></g><g class="edgeLabel" transform="translate(368.869140625, 237)"><g class="label" data-id="id_PluginManager_MermaidPlugin_2" transform="translate(-28.71484375, -12)"><foreignObject width="57.4296875" height="30"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel "><p>manages</p></span></div></foreignObject></g></g></g><g class="nodes"><g class="node default " id="mermaid-3-classId-PluginManager-0" data-look="classic" transform="translate(237.236328125, 104)"><g class="basic label-container outer-path"><path d="M-94.888671875 -96 L94.888671875 -96 L94.888671875 96 L-94.888671875 96" stroke="none" stroke-width="0" fill="#ddd5cb" style=""></path><path d="M-94.888671875 -96 C-53.02410879254999 -96, -11.159545710099977 -96, 94.888671875 -96 M-94.888671875 -96 C-46.85748860349069 -96, 1.1736946680186264 -96, 94.888671875 -96 M94.888671875 -96 C94.888671875 -54.72756718144717, 94.888671875 -13.455134362894341, 94.888671875 96 M94.888671875 -96 C94.888671875 -43.38740691217032, 94.888671875 9.22518617565936, 94.888671875 96 M94.888671875 96 C31.10115542343879 96, -32.68636102812242 96, -94.888671875 96 M94.888671875 96 C30.21640624188892 96, -34.45585939122216 96, -94.888671875 96 M-94.888671875 96 C-94.888671875 48.38893447044528, -94.888671875 0.7778689408905564, -94.888671875 -96 M-94.888671875 96 C-94.888671875 42.443993149803404, -94.888671875 -11.112013700393192, -94.888671875 -96" stroke="#b0a89f" stroke-width="1.3" fill="none" stroke-dasharray="0 0" style=""></path></g><g class="annotation-group text" transform="translate(0, -72)"></g><g class="label-group text" transform="translate(-50.34765625, -72)"><g class="label" style="font-weight: bolder" transform="translate(0,-12)"><foreignObject width="100.6953125" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 147px; text-align: center;"><span class="nodeLabel markdown-node-label" style=""><p>PluginManager</p></span></div></foreignObject></g></g><g class="members-group text" transform="translate(-82.888671875, -24)"><g class="label" style="" transform="translate(0,-12)"><foreignObject width="91.890625" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 145px; text-align: center;"><span class="nodeLabel markdown-node-label" style=""><p>+Map plugins</p></span></div></foreignObject></g></g><g class="methods-group text" transform="translate(-82.888671875, 24)"><g class="label" style="" transform="translate(0,-12)"><foreignObject width="109.5859375" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 163px; text-align: center;"><span class="nodeLabel markdown-node-label" style=""><p>+register(plugin)</p></span></div></foreignObject></g><g class="label" style="" transform="translate(0,12)"><foreignObject width="52.1328125" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 108px; text-align: center;"><span class="nodeLabel markdown-node-label" style=""><p>+get(id)</p></span></div></foreignObject></g><g class="label" style="" transform="translate(0,36)"><foreignObject width="115.4296875" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 172px; text-align: center;"><span class="nodeLabel markdown-node-label" style=""><p>+toggle(id, mode)</p></span></div></foreignObject></g></g><g class="divider" style=""><path d="M-94.888671875 -48 C-48.082404620010635 -47.9997533621963, -1.2761373650212704 -47.999506724392596, 94.888671875 -47.999 M-94.888671875 -48 C-24.58677948158963 -47.999629555925885, 45.71511291182074 -47.99925911185177, 94.888671875 -47.999" stroke="#b0a89f" stroke-width="1.3" fill="none" stroke-dasharray="0 0" style=""></path></g><g class="divider" style=""><path d="M-94.888671875 0 C-35.33915098064725 0.0003137862492837887, 24.210369913705506 0.0006275724985675774, 94.888671875 0.001 M-94.888671875 0 C-48.48130077049043 0.0002445358870953718, -2.073929665980856 0.0004890717741907436, 94.888671875 0.001" stroke="#b0a89f" stroke-width="1.3" fill="none" stroke-dasharray="0 0" style=""></path></g></g><g class="node default " id="mermaid-3-classId-MathPlugin-1" data-look="classic" transform="translate(105.603515625, 370)"><g class="basic label-container outer-path"><path d="M-97.603515625 -96 L97.603515625 -96 L97.603515625 96 L-97.603515625 96" stroke="none" stroke-width="0" fill="#ddd5cb" style=""></path><path d="M-97.603515625 -96 C-55.36871041601419 -96, -13.133905207028377 -96, 97.603515625 -96 M-97.603515625 -96 C-45.431493591362425 -96, 6.740528442275149 -96, 97.603515625 -96 M97.603515625 -96 C97.603515625 -34.823741348903525, 97.603515625 26.35251730219295, 97.603515625 96 M97.603515625 -96 C97.603515625 -28.799904471196896, 97.603515625 38.40019105760621, 97.603515625 96 M97.603515625 96 C47.10806078370477 96, -3.3873940575904555 96, -97.603515625 96 M97.603515625 96 C27.88673552833812 96, -41.83004456832376 96, -97.603515625 96 M-97.603515625 96 C-97.603515625 55.866852382697864, -97.603515625 15.733704765395728, -97.603515625 -96 M-97.603515625 96 C-97.603515625 34.76955271789994, -97.603515625 -26.460894564200117, -97.603515625 -96" stroke="#b0a89f" stroke-width="1.3" fill="none" stroke-dasharray="0 0" style=""></path></g><g class="annotation-group text" transform="translate(0, -72)"></g><g class="label-group text" transform="translate(-39.08984375, -72)"><g class="label" style="font-weight: bolder" transform="translate(0,-12)"><foreignObject width="78.1796875" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 123px; text-align: center;"><span class="nodeLabel markdown-node-label" style=""><p>MathPlugin</p></span></div></foreignObject></g></g><g class="members-group text" transform="translate(-85.603515625, -24)"><g class="label" style="" transform="translate(0,-12)"><foreignObject width="132.1171875" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 183px; text-align: center;"><span class="nodeLabel markdown-node-label" style=""><p>+String id = "math"</p></span></div></foreignObject></g></g><g class="methods-group text" transform="translate(-85.603515625, 24)"><g class="label" style="" transform="translate(0,-12)"><foreignObject width="93.890625" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 149px; text-align: center;"><span class="nodeLabel markdown-node-label" style=""><p>+render(node)</p></span></div></foreignObject></g><g class="label" style="" transform="translate(0,12)"><foreignObject width="93.984375" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 148px; text-align: center;"><span class="nodeLabel markdown-node-label" style=""><p>+toRaw(node)</p></span></div></foreignObject></g><g class="label" style="" transform="translate(0,36)"><foreignObject width="127.234375" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 178px; text-align: center;"><span class="nodeLabel markdown-node-label" style=""><p>+exportPNG(node)</p></span></div></foreignObject></g></g><g class="divider" style=""><path d="M-97.603515625 -48 C-22.937698915652945 -47.99961750447086, 51.72811779369411 -47.999235008941724, 97.603515625 -47.999 M-97.603515625 -48 C-27.33947089421393 -47.999640053719986, 42.92457383657214 -47.99928010743998, 97.603515625 -47.999" stroke="#b0a89f" stroke-width="1.3" fill="none" stroke-dasharray="0 0" style=""></path></g><g class="divider" style=""><path d="M-97.603515625 0 C-44.8256426582565 0.00027036870869242066, 7.952230308487003 0.0005407374173848413, 97.603515625 0.001 M-97.603515625 0 C-23.25480422314942 0.00038087107275676363, 51.09390717870116 0.0007617421455135273, 97.603515625 0.001" stroke="#b0a89f" stroke-width="1.3" fill="none" stroke-dasharray="0 0" style=""></path></g></g><g class="node default " id="mermaid-3-classId-MermaidPlugin-2" data-look="classic" transform="translate(368.869140625, 370)"><g class="basic label-container outer-path"><path d="M-115.662109375 -96 L115.662109375 -96 L115.662109375 96 L-115.662109375 96" stroke="none" stroke-width="0" fill="#ddd5cb" style=""></path><path d="M-115.662109375 -96 C-50.03785920038331 -96, 15.586390974233382 -96, 115.662109375 -96 M-115.662109375 -96 C-33.96281921029268 -96, 47.73647095441464 -96, 115.662109375 -96 M115.662109375 -96 C115.662109375 -29.02876451023269, 115.662109375 37.94247097953462, 115.662109375 96 M115.662109375 -96 C115.662109375 -47.60478421237477, 115.662109375 0.7904315752504658, 115.662109375 96 M115.662109375 96 C27.036102217590383 96, -61.589904939819235 96, -115.662109375 96 M115.662109375 96 C65.43734086918062 96, 15.212572363361247 96, -115.662109375 96 M-115.662109375 96 C-115.662109375 32.9246309374923, -115.662109375 -30.150738125015394, -115.662109375 -96 M-115.662109375 96 C-115.662109375 44.5981206126995, -115.662109375 -6.803758774600993, -115.662109375 -96" stroke="#b0a89f" stroke-width="1.3" fill="none" stroke-dasharray="0 0" style=""></path></g><g class="annotation-group text" transform="translate(0, -72)"></g><g class="label-group text" transform="translate(-51.09765625, -72)"><g class="label" style="font-weight: bolder" transform="translate(0,-12)"><foreignObject width="102.1953125" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 147px; text-align: center;"><span class="nodeLabel markdown-node-label" style=""><p>MermaidPlugin</p></span></div></foreignObject></g></g><g class="members-group text" transform="translate(-103.662109375, -24)"><g class="label" style="" transform="translate(0,-12)"><foreignObject width="156.2265625" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 207px; text-align: center;"><span class="nodeLabel markdown-node-label" style=""><p>+String id = "mermaid"</p></span></div></foreignObject></g></g><g class="methods-group text" transform="translate(-103.662109375, 24)"><g class="label" style="" transform="translate(0,-12)"><foreignObject width="93.890625" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 149px; text-align: center;"><span class="nodeLabel markdown-node-label" style=""><p>+render(node)</p></span></div></foreignObject></g><g class="label" style="" transform="translate(0,12)"><foreignObject width="93.984375" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 148px; text-align: center;"><span class="nodeLabel markdown-node-label" style=""><p>+toRaw(node)</p></span></div></foreignObject></g><g class="label" style="" transform="translate(0,36)"><foreignObject width="127.234375" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 178px; text-align: center;"><span class="nodeLabel markdown-node-label" style=""><p>+exportPNG(node)</p></span></div></foreignObject></g></g><g class="divider" style=""><path d="M-115.662109375 -48 C-48.01881193978268 -47.9997075822938, 19.62448549543464 -47.9994151645876, 115.662109375 -47.999 M-115.662109375 -48 C-27.21640258583345 -47.999617654790896, 61.2293042033331 -47.99923530958179, 115.662109375 -47.999" stroke="#b0a89f" stroke-width="1.3" fill="none" stroke-dasharray="0 0" style=""></path></g><g class="divider" style=""><path d="M-115.662109375 0 C-46.65763079824123 0.00029830200637718043, 22.346847778517542 0.0005966040127543609, 115.662109375 0.001 M-115.662109375 0 C-42.715492182838176 0.00031534362284390866, 30.231125009323648 0.0006306872456878173, 115.662109375 0.001" stroke="#b0a89f" stroke-width="1.3" fill="none" stroke-dasharray="0 0" style=""></path></g></g></g></g></g><defs><filter id="mermaid-3-drop-shadow" height="130%" width="130%"><feDropShadow dx="4" dy="4" stdDeviation="0" flood-opacity="0.06" flood-color="#000000"></feDropShadow></filter></defs><defs><filter id="mermaid-3-drop-shadow-small" height="150%" width="150%"><feDropShadow dx="2" dy="2" stdDeviation="0" flood-opacity="0.06" flood-color="#000000"></feDropShadow></filter></defs></svg></div></div><h3 id="2.4-状态图(state-diagram)">2.4 状态图(State Diagram)</h3><div class="mermaid-block" data-mermaid="stateDiagram-v2
125
+ [*] --> 编辑中
126
+ 编辑中 --> 渲染中 : 输入完成
127
+ 渲染中 --> 渲染成功 : KaTeX/Mermaid 渲染成功
128
+ 渲染中 --> 渲染失败 : 语法错误
129
+ 渲染失败 --> 编辑中 : 修正代码
130
+ 渲染成功 --> 编辑中 : 点击 Raw 模式
131
+ 渲染成功 --> [*] : 导出 PNG" contenteditable="false"><div class="mermaid-preview"><svg id="mermaid-4" width="100%" xmlns="http://www.w3.org/2000/svg" class="statediagram" style="max-width: 374.10546875px;" viewBox="0 0 374.10546875 436" role="graphics-document document" aria-roledescription="stateDiagram"><style>#mermaid-4{font-family:"LXGW WenKai","Noto Serif SC","Source Han Serif SC","Songti SC",Georgia,serif;font-size:16px;fill:#3d3530;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-4 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-4 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-4 .error-icon{fill:#552222;}#mermaid-4 .error-text{fill:#552222;stroke:#552222;}#mermaid-4 .edge-thickness-normal{stroke-width:1px;}#mermaid-4 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-4 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-4 .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-4 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-4 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-4 .marker{fill:#b0a89f;stroke:#b0a89f;}#mermaid-4 .marker.cross{stroke:#b0a89f;}#mermaid-4 svg{font-family:"LXGW WenKai","Noto Serif SC","Source Han Serif SC","Songti SC",Georgia,serif;font-size:16px;}#mermaid-4 p{margin:0;}#mermaid-4 defs [id$="-barbEnd"]{fill:#333333;stroke:#333333;}#mermaid-4 g.stateGroup text{fill:#b0a89f;stroke:none;font-size:10px;}#mermaid-4 g.stateGroup text{fill:#3d3530;stroke:none;font-size:10px;}#mermaid-4 g.stateGroup .state-title{font-weight:bolder;fill:#131300;}#mermaid-4 g.stateGroup rect{fill:#ddd5cb;stroke:#b0a89f;}#mermaid-4 g.stateGroup line{stroke:#b0a89f;stroke-width:1;}#mermaid-4 .transition{stroke:#333333;stroke-width:1;fill:none;}#mermaid-4 .stateGroup .composit{fill:#e8e2db;border-bottom:1px;}#mermaid-4 .stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px;}#mermaid-4 .state-note{stroke:#aaaa33;fill:#fff5ad;}#mermaid-4 .state-note text{fill:black;stroke:none;font-size:10px;}#mermaid-4 .stateLabel .box{stroke:none;stroke-width:0;fill:#ddd5cb;opacity:0.5;}#mermaid-4 .edgeLabel .label rect{fill:#ECECFF;opacity:0.5;}#mermaid-4 .edgeLabel{background-color:#e8e2db;text-align:center;}#mermaid-4 .edgeLabel p{background-color:#e8e2db;}#mermaid-4 .edgeLabel rect{opacity:0.5;background-color:#e8e2db;fill:#e8e2db;}#mermaid-4 .edgeLabel .label text{fill:#333;}#mermaid-4 .label div .edgeLabel{color:#333;}#mermaid-4 .stateLabel text{fill:#131300;font-size:10px;font-weight:bold;}#mermaid-4 .node circle.state-start{fill:#b0a89f;stroke:#b0a89f;}#mermaid-4 .node .fork-join{fill:#b0a89f;stroke:#b0a89f;}#mermaid-4 .node circle.state-end{fill:#9370DB;stroke:#e8e2db;stroke-width:1.5;}#mermaid-4 .end-state-inner{fill:white;stroke-width:1.5;}#mermaid-4 .node rect{fill:#ECECFF;stroke:#b0a89f;stroke-width:1px;}#mermaid-4 .node polygon{fill:#ddd5cb;stroke:#b0a89f;stroke-width:1px;}#mermaid-4 [id$="-barbEnd"]{fill:#b0a89f;}#mermaid-4 .statediagram-cluster rect{fill:#ECECFF;stroke:#b0a89f;stroke-width:1px;}#mermaid-4 .cluster-label,#mermaid-4 .nodeLabel{color:#131300;}#mermaid-4 .statediagram-cluster rect.outer{rx:5px;ry:5px;}#mermaid-4 .statediagram-state .divider{stroke:#b0a89f;}#mermaid-4 .statediagram-state .title-state{rx:5px;ry:5px;}#mermaid-4 .statediagram-cluster.statediagram-cluster .inner{fill:white;}#mermaid-4 .statediagram-cluster.statediagram-cluster-alt .inner{fill:#f0f0f0;}#mermaid-4 .statediagram-cluster .inner{rx:0;ry:0;}#mermaid-4 .statediagram-state rect.basic{rx:5px;ry:5px;}#mermaid-4 .statediagram-state rect.divider{stroke-dasharray:10,10;fill:#f0f0f0;}#mermaid-4 .note-edge{stroke-dasharray:5;}#mermaid-4 .statediagram-note rect{fill:#fff5ad;stroke:#aaaa33;stroke-width:1px;rx:0;ry:0;}#mermaid-4 .statediagram-note rect{fill:#fff5ad;stroke:#aaaa33;stroke-width:1px;rx:0;ry:0;}#mermaid-4 .statediagram-note text{fill:black;}#mermaid-4 .statediagram-note .nodeLabel{color:black;}#mermaid-4 .statediagram .edgeLabel{color:red;}#mermaid-4 [id$="-dependencyStart"],#mermaid-4 [id$="-dependencyEnd"]{fill:#b0a89f;stroke:#b0a89f;stroke-width:1;}#mermaid-4 .statediagramTitleText{text-anchor:middle;font-size:18px;fill:#3d3530;}#mermaid-4 [data-look="neo"].statediagram-cluster rect{fill:#ddd5cb;stroke:#b0a89f;stroke-width:1;}#mermaid-4 [data-look="neo"].statediagram-cluster rect.outer{rx:5px;ry:5px;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-4 .node .neo-node{stroke:#b0a89f;}#mermaid-4 [data-look="neo"].node rect,#mermaid-4 [data-look="neo"].cluster rect,#mermaid-4 [data-look="neo"].node polygon{stroke:#b0a89f;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-4 [data-look="neo"].node path{stroke:#b0a89f;stroke-width:1px;}#mermaid-4 [data-look="neo"].node .outer-path{filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-4 [data-look="neo"].node .neo-line path{stroke:#b0a89f;filter:none;}#mermaid-4 [data-look="neo"].node circle{stroke:#b0a89f;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-4 [data-look="neo"].node circle .state-start{fill:#000000;}#mermaid-4 [data-look="neo"].icon-shape .icon{fill:#b0a89f;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-4 [data-look="neo"].icon-shape .icon-neo path{stroke:#b0a89f;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-4 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}</style><g><defs><marker id="mermaid-4_stateDiagram-barbEnd" refX="19" refY="7" markerWidth="20" markerHeight="14" markerUnits="userSpaceOnUse" orient="auto"><path d="M 19,7 L9,13 L14,7 L9,1 Z"></path></marker></defs><g class="root"><g class="clusters"></g><g class="edgePaths"><path d="M217.105,22L217.105,26.167C217.105,30.333,217.105,38.667,217.105,47C217.105,55.333,217.105,63.667,217.105,67.833L217.105,72" id="mermaid-4-edge0" class=" edge-thickness-normal edge-pattern-solid transition" style="fill:none;;;fill:none" data-edge="true" data-et="edge" data-id="edge0" data-points="W3sieCI6MjE3LjEwNTQ2ODc1LCJ5IjoyMn0seyJ4IjoyMTcuMTA1NDY4NzUsInkiOjQ3fSx7IngiOjIxNy4xMDU0Njg3NSwieSI6NzJ9XQ==" data-look="classic" marker-end="url(#mermaid-4_stateDiagram-barbEnd)"></path><path d="M185.105,107.529L170.863,114.441C156.62,121.353,128.134,135.176,113.891,148.255C99.648,161.333,99.648,173.667,99.648,179.833L99.648,186" id="mermaid-4-edge1" class=" edge-thickness-normal edge-pattern-solid transition" style="fill:none;;;fill:none" data-edge="true" data-et="edge" data-id="edge1" data-points="W3sieCI6MTg1LjEwNTQ2ODc1LCJ5IjoxMDcuNTI5MDgzMTA4ODQ5NjV9LHsieCI6OTkuNjQ4NDM3NSwieSI6MTQ5fSx7IngiOjk5LjY0ODQzNzUsInkiOjE4Nn1d" data-look="classic" marker-end="url(#mermaid-4_stateDiagram-barbEnd)"></path><path d="M99.648,226L99.648,232.167C99.648,238.333,99.648,250.667,106.002,263C112.356,275.333,125.063,287.667,131.417,293.833L137.77,300" id="mermaid-4-edge2" class=" edge-thickness-normal edge-pattern-solid transition" style="fill:none;;;fill:none" data-edge="true" data-et="edge" data-id="edge2" data-points="W3sieCI6OTkuNjQ4NDM3NSwieSI6MjI2fSx7IngiOjk5LjY0ODQzNzUsInkiOjI2M30seyJ4IjoxMzcuNzcwNDU2NDE0NDczNywieSI6MzAwfV0=" data-look="classic" marker-end="url(#mermaid-4_stateDiagram-barbEnd)"></path><path d="M131.648,216.764L154.558,224.47C177.467,232.176,223.286,247.588,250.415,261.461C277.544,275.333,285.983,287.667,290.202,293.833L294.421,300" id="mermaid-4-edge3" class=" edge-thickness-normal edge-pattern-solid transition" style="fill:none;;;fill:none" data-edge="true" data-et="edge" data-id="edge3" data-points="W3sieCI6MTMxLjY0ODQzNzUsInkiOjIxNi43NjM3OTA1OTk1NzEyNX0seyJ4IjoyNjkuMTA1NDY4NzUsInkiOjI2M30seyJ4IjoyOTQuNDIxMjU4MjIzNjg0MiwieSI6MzAwfV0=" data-look="classic" marker-end="url(#mermaid-4_stateDiagram-barbEnd)"></path><path d="M317.228,300L320.041,293.833C322.854,287.667,328.48,275.333,331.293,259.667C334.105,244,334.105,225,334.105,206C334.105,187,334.105,168,319.939,151.598C305.772,135.197,277.439,121.393,263.272,114.491L249.105,107.59" id="mermaid-4-edge4" class=" edge-thickness-normal edge-pattern-solid transition" style="fill:none;;;fill:none" data-edge="true" data-et="edge" data-id="edge4" data-points="W3sieCI6MzE3LjIyODI3NTc2NzU0MzgzLCJ5IjozMDB9LHsieCI6MzM0LjEwNTQ2ODc1LCJ5IjoyNjN9LHsieCI6MzM0LjEwNTQ2ODc1LCJ5IjoyMDZ9LHsieCI6MzM0LjEwNTQ2ODc1LCJ5IjoxNDl9LHsieCI6MjQ5LjEwNTQ2ODc1LCJ5IjoxMDcuNTg5NzQzNTg5NzQzNTl9XQ==" data-look="classic" marker-end="url(#mermaid-4_stateDiagram-barbEnd)"></path><path d="M178.983,300L185.337,293.833C191.691,287.667,204.398,275.333,210.752,259.667C217.105,244,217.105,225,217.105,206C217.105,187,217.105,168,217.105,152.333C217.105,136.667,217.105,124.333,217.105,118.167L217.105,112" id="mermaid-4-edge5" class=" edge-thickness-normal edge-pattern-solid transition" style="fill:none;;;fill:none" data-edge="true" data-et="edge" data-id="edge5" data-points="W3sieCI6MTc4Ljk4MzQ0OTgzNTUyNjMsInkiOjMwMH0seyJ4IjoyMTcuMTA1NDY4NzUsInkiOjI2M30seyJ4IjoyMTcuMTA1NDY4NzUsInkiOjIwNn0seyJ4IjoyMTcuMTA1NDY4NzUsInkiOjE0OX0seyJ4IjoyMTcuMTA1NDY4NzUsInkiOjExMn1d" data-look="classic" marker-end="url(#mermaid-4_stateDiagram-barbEnd)"></path><path d="M158.377,340L158.377,346.167C158.377,352.333,158.377,364.667,158.377,376.999C158.377,389.331,158.377,401.662,158.377,407.828L158.377,413.993" id="mermaid-4-edge6" class=" edge-thickness-normal edge-pattern-solid transition" style="fill:none;;;fill:none" data-edge="true" data-et="edge" data-id="edge6" data-points="W3sieCI6MTU4LjM3Njk1MzEyNSwieSI6MzQwfSx7IngiOjE1OC4zNzY5NTMxMjUsInkiOjM3N30seyJ4IjoxNTguMzc2OTUzMTI1LCJ5Ijo0MTMuOTkzMzUzMzY2ODUxOH1d" data-look="classic" marker-end="url(#mermaid-4_stateDiagram-barbEnd)"></path></g><g class="edgeLabels"><g class="edgeLabel"><g class="label" data-id="edge0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel "></span></div></foreignObject></g></g><g class="edgeLabel" transform="translate(99.6484375, 149)"><g class="label" data-id="edge1" transform="translate(-32, -12)"><foreignObject width="64" height="30"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel "><p>输入完成</p></span></div></foreignObject></g></g><g class="edgeLabel" transform="translate(99.6484375, 263)"><g class="label" data-id="edge2" transform="translate(-91.6484375, -12)"><foreignObject width="183.296875" height="30"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel "><p>KaTeX/Mermaid 渲染成功</p></span></div></foreignObject></g></g><g class="edgeLabel" transform="translate(221.62311, 247.02843)"><g class="label" data-id="edge3" transform="translate(-32, -12)"><foreignObject width="64" height="30"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel "><p>语法错误</p></span></div></foreignObject></g></g><g class="edgeLabel" transform="translate(334.10546875, 206)"><g class="label" data-id="edge4" transform="translate(-32, -12)"><foreignObject width="64" height="30"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel "><p>修正代码</p></span></div></foreignObject></g></g><g class="edgeLabel" transform="translate(217.10546875, 206)"><g class="label" data-id="edge5" transform="translate(-50.45703125, -12)"><foreignObject width="100.9140625" height="30"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel "><p>点击 Raw 模式</p></span></div></foreignObject></g></g><g class="edgeLabel" transform="translate(158.376953125, 377)"><g class="label" data-id="edge6" transform="translate(-34.8828125, -12)"><foreignObject width="69.765625" height="30"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel "><p>导出 PNG</p></span></div></foreignObject></g></g></g><g class="nodes"><g class="node default" id="mermaid-4-state-root_start-0" data-look="classic" transform="translate(217.10546875, 15)"><circle class="state-start" r="7" width="14" height="14"></circle></g><g class="node statediagram-state " id="mermaid-4-state-编辑中-5" data-look="classic" transform="translate(217.10546875, 92)"><rect class="basic label-container" style="" rx="5" ry="5" x="-32" y="-20" width="64" height="46"></rect><g class="label" style="" transform="translate(-24, -12)"><rect></rect><foreignObject width="48" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel markdown-node-label"><p>编辑中</p></span></div></foreignObject></g></g><g class="node statediagram-state " id="mermaid-4-state-渲染中-3" data-look="classic" transform="translate(99.6484375, 206)"><rect class="basic label-container" style="" rx="5" ry="5" x="-32" y="-20" width="64" height="46"></rect><g class="label" style="" transform="translate(-24, -12)"><rect></rect><foreignObject width="48" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel markdown-node-label"><p>渲染中</p></span></div></foreignObject></g></g><g class="node statediagram-state " id="mermaid-4-state-渲染成功-6" data-look="classic" transform="translate(158.376953125, 320)"><rect class="basic label-container" style="" rx="5" ry="5" x="-40" y="-20" width="80" height="46"></rect><g class="label" style="" transform="translate(-32, -12)"><rect></rect><foreignObject width="64" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel markdown-node-label"><p>渲染成功</p></span></div></foreignObject></g></g><g class="node statediagram-state " id="mermaid-4-state-渲染失败-4" data-look="classic" transform="translate(308.10546875, 320)"><rect class="basic label-container" style="" rx="5" ry="5" x="-40" y="-20" width="80" height="46"></rect><g class="label" style="" transform="translate(-32, -12)"><rect></rect><foreignObject width="64" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel markdown-node-label"><p>渲染失败</p></span></div></foreignObject></g></g><g class="node default" id="mermaid-4-state-root_end-6" data-look="classic" transform="translate(158.376953125, 421)"><g class="outer-path"><path d="M7 0 C7 0.40517908122283747, 6.964012880168563 0.816513743121899, 6.893654271085456 1.2155372436685123 C6.823295662002349 1.6145607442151257, 6.716427752933756 2.013397210557766, 6.5778483455013586 2.394141003279681 C6.439268938068961 2.7748847960015954, 6.26476736710249 3.149104622578984, 6.062177826491071 3.4999999999999996 C5.859588285879653 3.8508953774210153, 5.622755194947063 4.189128084166967, 5.362311101832846 4.499513267805774 C5.10186700871863 4.809898451444582, 4.809898451444583 5.10186700871863, 4.499513267805775 5.362311101832846 C4.189128084166968 5.622755194947063, 3.8508953774210166 5.859588285879652, 3.500000000000001 6.06217782649107 C3.149104622578985 6.264767367102489, 2.7748847960015963 6.439268938068961, 2.3941410032796817 6.5778483455013586 C2.013397210557767 6.716427752933756, 1.6145607442151264 6.823295662002349, 1.2155372436685128 6.893654271085456 C0.8165137431218992 6.964012880168563, 0.4051790812228379 7, 4.286263797015736e-16 7 C-0.405179081222837 7, -0.8165137431218985 6.964012880168563, -1.2155372436685121 6.893654271085456 C-1.6145607442151257 6.823295662002349, -2.0133972105577667 6.716427752933756, -2.394141003279681 6.5778483455013586 C-2.774884796001595 6.439268938068961, -3.149104622578983 6.26476736710249, -3.4999999999999982 6.062177826491071 C-3.8508953774210135 5.859588285879653, -4.189128084166966 5.6227551949470636, -4.499513267805773 5.362311101832848 C-4.809898451444581 5.101867008718632, -5.101867008718628 4.809898451444586, -5.3623111018328435 4.499513267805779 C-5.622755194947059 4.189128084166971, -5.859588285879649 3.8508953774210206, -6.062177826491068 3.5000000000000053 C-6.264767367102486 3.14910462257899, -6.439268938068958 2.774884796001602, -6.577848345501356 2.394141003279688 C-6.716427752933754 2.0133972105577738, -6.823295662002347 1.614560744215134, -6.893654271085454 1.215537243668521 C-6.9640128801685615 0.816513743121908, -6.999999999999999 0.4051790812228472, -7 1.0183126166254463e-14 C-7.000000000000001 -0.40517908122282686, -6.964012880168565 -0.8165137431218878, -6.893654271085459 -1.215537243668501 C-6.823295662002352 -1.6145607442151142, -6.716427752933759 -2.0133972105577542, -6.577848345501363 -2.394141003279669 C-6.439268938068967 -2.7748847960015834, -6.264767367102496 -3.149104622578972, -6.062177826491078 -3.4999999999999876 C-5.859588285879661 -3.8508953774210033, -5.6227551949470715 -4.1891280841669545, -5.362311101832856 -4.499513267805763 C-5.10186700871864 -4.809898451444571, -4.809898451444594 -5.10186700871862, -4.499513267805787 -5.362311101832836 C-4.189128084166979 -5.622755194947053, -3.850895377421028 -5.859588285879643, -3.5000000000000133 -6.062177826491062 C-3.1491046225789985 -6.264767367102482, -2.774884796001611 -6.439268938068954, -2.3941410032796973 -6.577848345501353 C-2.0133972105577835 -6.716427752933752, -1.6145607442151435 -6.823295662002345, -1.2155372436685306 -6.893654271085453 C-0.8165137431219176 -6.9640128801685615, -0.40517908122285695 -6.999999999999999, -1.9937625952807352e-14 -7 C0.4051790812228171 -7.000000000000001, 0.8165137431218781 -6.964012880168565, 1.2155372436684913 -6.89365427108546 C1.6145607442151044 -6.823295662002354, 2.013397210557745 -6.716427752933763, 2.3941410032796595 -6.5778483455013665 C2.774884796001574 -6.43926893806897, 3.149104622578963 -6.2647673671025, 3.499999999999979 -6.062177826491083 C3.8508953774209953 -5.859588285879665, 4.189128084166947 -5.622755194947077, 4.499513267805756 -5.362311101832862 C4.809898451444564 -5.1018670087186475, 5.101867008718613 -4.809898451444602, 5.362311101832829 -4.499513267805796 C5.622755194947046 -4.189128084166989, 5.859588285879637 -3.8508953774210393, 6.062177826491056 -3.500000000000025 C6.2647673671024755 -3.1491046225790105, 6.439268938068949 -2.774884796001623, 6.577848345501348 -2.3941410032797092 C6.716427752933747 -2.0133972105577955, 6.823295662002342 -1.6145607442151562, 6.893654271085451 -1.2155372436685434 C6.96401288016856 -0.8165137431219307, 6.982275711847575 -0.2025895406114567, 7 -3.2800750208310675e-14 C7.017724288152425 0.2025895406113911, 7.017724288152424 -0.2025895406114242, 7 0" stroke="none" stroke-width="0" fill="#ddd5cb" style=""></path><path d="M7 0 C7 0.40517908122283747, 6.964012880168563 0.816513743121899, 6.893654271085456 1.2155372436685123 C6.823295662002349 1.6145607442151257, 6.716427752933756 2.013397210557766, 6.5778483455013586 2.394141003279681 C6.439268938068961 2.7748847960015954, 6.26476736710249 3.149104622578984, 6.062177826491071 3.4999999999999996 C5.859588285879653 3.8508953774210153, 5.622755194947063 4.189128084166967, 5.362311101832846 4.499513267805774 C5.10186700871863 4.809898451444582, 4.809898451444583 5.10186700871863, 4.499513267805775 5.362311101832846 C4.189128084166968 5.622755194947063, 3.8508953774210166 5.859588285879652, 3.500000000000001 6.06217782649107 C3.149104622578985 6.264767367102489, 2.7748847960015963 6.439268938068961, 2.3941410032796817 6.5778483455013586 C2.013397210557767 6.716427752933756, 1.6145607442151264 6.823295662002349, 1.2155372436685128 6.893654271085456 C0.8165137431218992 6.964012880168563, 0.4051790812228379 7, 4.286263797015736e-16 7 C-0.405179081222837 7, -0.8165137431218985 6.964012880168563, -1.2155372436685121 6.893654271085456 C-1.6145607442151257 6.823295662002349, -2.0133972105577667 6.716427752933756, -2.394141003279681 6.5778483455013586 C-2.774884796001595 6.439268938068961, -3.149104622578983 6.26476736710249, -3.4999999999999982 6.062177826491071 C-3.8508953774210135 5.859588285879653, -4.189128084166966 5.6227551949470636, -4.499513267805773 5.362311101832848 C-4.809898451444581 5.101867008718632, -5.101867008718628 4.809898451444586, -5.3623111018328435 4.499513267805779 C-5.622755194947059 4.189128084166971, -5.859588285879649 3.8508953774210206, -6.062177826491068 3.5000000000000053 C-6.264767367102486 3.14910462257899, -6.439268938068958 2.774884796001602, -6.577848345501356 2.394141003279688 C-6.716427752933754 2.0133972105577738, -6.823295662002347 1.614560744215134, -6.893654271085454 1.215537243668521 C-6.9640128801685615 0.816513743121908, -6.999999999999999 0.4051790812228472, -7 1.0183126166254463e-14 C-7.000000000000001 -0.40517908122282686, -6.964012880168565 -0.8165137431218878, -6.893654271085459 -1.215537243668501 C-6.823295662002352 -1.6145607442151142, -6.716427752933759 -2.0133972105577542, -6.577848345501363 -2.394141003279669 C-6.439268938068967 -2.7748847960015834, -6.264767367102496 -3.149104622578972, -6.062177826491078 -3.4999999999999876 C-5.859588285879661 -3.8508953774210033, -5.6227551949470715 -4.1891280841669545, -5.362311101832856 -4.499513267805763 C-5.10186700871864 -4.809898451444571, -4.809898451444594 -5.10186700871862, -4.499513267805787 -5.362311101832836 C-4.189128084166979 -5.622755194947053, -3.850895377421028 -5.859588285879643, -3.5000000000000133 -6.062177826491062 C-3.1491046225789985 -6.264767367102482, -2.774884796001611 -6.439268938068954, -2.3941410032796973 -6.577848345501353 C-2.0133972105577835 -6.716427752933752, -1.6145607442151435 -6.823295662002345, -1.2155372436685306 -6.893654271085453 C-0.8165137431219176 -6.9640128801685615, -0.40517908122285695 -6.999999999999999, -1.9937625952807352e-14 -7 C0.4051790812228171 -7.000000000000001, 0.8165137431218781 -6.964012880168565, 1.2155372436684913 -6.89365427108546 C1.6145607442151044 -6.823295662002354, 2.013397210557745 -6.716427752933763, 2.3941410032796595 -6.5778483455013665 C2.774884796001574 -6.43926893806897, 3.149104622578963 -6.2647673671025, 3.499999999999979 -6.062177826491083 C3.8508953774209953 -5.859588285879665, 4.189128084166947 -5.622755194947077, 4.499513267805756 -5.362311101832862 C4.809898451444564 -5.1018670087186475, 5.101867008718613 -4.809898451444602, 5.362311101832829 -4.499513267805796 C5.622755194947046 -4.189128084166989, 5.859588285879637 -3.8508953774210393, 6.062177826491056 -3.500000000000025 C6.2647673671024755 -3.1491046225790105, 6.439268938068949 -2.774884796001623, 6.577848345501348 -2.3941410032797092 C6.716427752933747 -2.0133972105577955, 6.823295662002342 -1.6145607442151562, 6.893654271085451 -1.2155372436685434 C6.96401288016856 -0.8165137431219307, 6.982275711847575 -0.2025895406114567, 7 -3.2800750208310675e-14 C7.017724288152425 0.2025895406113911, 7.017724288152424 -0.2025895406114242, 7 0" stroke="#b0a89f" stroke-width="2" fill="none" stroke-dasharray="0 0" style=""></path><g><path d="M2.5 0 C2.5 0.14470681472244193, 2.487147457203058 0.29161205111496386, 2.46201938253052 0.4341204441673258 C2.436891307857982 0.5766288372196877, 2.3987241974763416 0.7190704323420595, 2.3492315519647713 0.8550503583141718 C2.299738906453201 0.991030284286284, 2.2374169168223177 1.124680222349637, 2.165063509461097 1.2499999999999998 C2.092710102099876 1.3753197776503625, 2.0081268553382365 1.496117172916774, 1.915111107797445 1.6069690242163481 C1.8220953602566536 1.7178208755159223, 1.7178208755159226 1.8220953602566536, 1.6069690242163484 1.915111107797445 C1.4961171729167742 2.0081268553382365, 1.375319777650363 2.0927101020998755, 1.2500000000000002 2.1650635094610964 C1.1246802223496375 2.2374169168223172, 0.9910302842862845 2.2997389064532, 0.8550503583141721 2.349231551964771 C0.7190704323420597 2.3987241974763416, 0.576628837219688 2.436891307857982, 0.43412044416732604 2.46201938253052 C0.291612051114964 2.487147457203058, 0.14470681472244212 2.5, 1.5308084989341916e-16 2.5 C-0.1447068147224418 2.5, -0.2916120511149638 2.487147457203058, -0.43412044416732576 2.46201938253052 C-0.5766288372196877 2.436891307857982, -0.7190704323420595 2.3987241974763416, -0.8550503583141718 2.3492315519647713 C-0.991030284286284 2.299738906453201, -1.124680222349637 2.2374169168223177, -1.2499999999999996 2.165063509461097 C-1.375319777650362 2.092710102099876, -1.4961171729167733 2.008126855338237, -1.6069690242163475 1.9151111077974459 C-1.7178208755159217 1.8220953602566548, -1.822095360256653 1.7178208755159234, -1.9151111077974443 1.6069690242163495 C-2.0081268553382357 1.4961171729167755, -2.0927101020998746 1.3753197776503645, -2.1650635094610955 1.250000000000002 C-2.2374169168223164 1.1246802223496395, -2.2997389064531992 0.9910302842862865, -2.34923155196477 0.8550503583141743 C-2.3987241974763407 0.7190704323420621, -2.436891307857981 0.5766288372196907, -2.4620193825305194 0.434120444167329 C-2.487147457203058 0.29161205111496724, -2.5 0.14470681472244545, -2.5 3.636830773662308e-15 C-2.5 -0.14470681472243818, -2.4871474572030587 -0.2916120511149599, -2.4620193825305208 -0.4341204441673218 C-2.436891307857983 -0.5766288372196837, -2.398724197476343 -0.7190704323420553, -2.3492315519647726 -0.8550503583141675 C-2.2997389064532023 -0.9910302842862798, -2.23741691682232 -1.1246802223496328, -2.165063509461099 -1.2499999999999956 C-2.092710102099878 -1.3753197776503583, -2.00812685533824 -1.4961171729167695, -1.9151111077974488 -1.606969024216344 C-1.8220953602566576 -1.7178208755159183, -1.7178208755159263 -1.82209536025665, -1.6069690242163523 -1.9151111077974416 C-1.4961171729167784 -2.0081268553382334, -1.3753197776503672 -2.0927101020998724, -1.2500000000000047 -2.1650635094610937 C-1.1246802223496422 -2.237416916822315, -0.9910302842862897 -2.299738906453198, -0.8550503583141776 -2.3492315519647686 C-0.7190704323420656 -2.3987241974763394, -0.5766288372196942 -2.4368913078579806, -0.43412044416733236 -2.462019382530519 C-0.29161205111497057 -2.4871474572030574, -0.1447068147224489 -2.4999999999999996, -7.120580697431198e-15 -2.5 C0.14470681472243463 -2.5000000000000004, 0.29161205111495647 -2.487147457203059, 0.4341204441673183 -2.4620193825305217 C0.5766288372196802 -2.436891307857984, 0.7190704323420518 -2.3987241974763442, 0.8550503583141642 -2.349231551964774 C0.9910302842862766 -2.2997389064532037, 1.1246802223496295 -2.2374169168223212, 1.2499999999999925 -2.165063509461101 C1.3753197776503554 -2.0927101020998804, 1.4961171729167668 -2.008126855338242, 1.6069690242163412 -1.915111107797451 C1.7178208755159157 -1.82209536025666, 1.8220953602566472 -1.7178208755159294, 1.915111107797439 -1.6069690242163557 C2.0081268553382308 -1.496117172916782, 2.09271010209987 -1.3753197776503712, 2.1650635094610915 -1.2500000000000089 C2.237416916822313 -1.1246802223496466, 2.299738906453196 -0.9910302842862939, 2.3492315519647673 -0.855050358314182 C2.3987241974763385 -0.71907043234207, 2.4368913078579792 -0.5766288372196986, 2.462019382530518 -0.4341204441673369 C2.487147457203057 -0.29161205111497523, 2.4936698970884197 -0.07235340736123454, 2.5 -1.1714553645825241e-14 C2.5063301029115803 0.07235340736121111, 2.50633010291158 -0.07235340736122292, 2.5 0" stroke="none" stroke-width="0" fill="#b0a89f" style=""></path><path d="M2.5 0 C2.5 0.14470681472244193, 2.487147457203058 0.29161205111496386, 2.46201938253052 0.4341204441673258 C2.436891307857982 0.5766288372196877, 2.3987241974763416 0.7190704323420595, 2.3492315519647713 0.8550503583141718 C2.299738906453201 0.991030284286284, 2.2374169168223177 1.124680222349637, 2.165063509461097 1.2499999999999998 C2.092710102099876 1.3753197776503625, 2.0081268553382365 1.496117172916774, 1.915111107797445 1.6069690242163481 C1.8220953602566536 1.7178208755159223, 1.7178208755159226 1.8220953602566536, 1.6069690242163484 1.915111107797445 C1.4961171729167742 2.0081268553382365, 1.375319777650363 2.0927101020998755, 1.2500000000000002 2.1650635094610964 C1.1246802223496375 2.2374169168223172, 0.9910302842862845 2.2997389064532, 0.8550503583141721 2.349231551964771 C0.7190704323420597 2.3987241974763416, 0.576628837219688 2.436891307857982, 0.43412044416732604 2.46201938253052 C0.291612051114964 2.487147457203058, 0.14470681472244212 2.5, 1.5308084989341916e-16 2.5 C-0.1447068147224418 2.5, -0.2916120511149638 2.487147457203058, -0.43412044416732576 2.46201938253052 C-0.5766288372196877 2.436891307857982, -0.7190704323420595 2.3987241974763416, -0.8550503583141718 2.3492315519647713 C-0.991030284286284 2.299738906453201, -1.124680222349637 2.2374169168223177, -1.2499999999999996 2.165063509461097 C-1.375319777650362 2.092710102099876, -1.4961171729167733 2.008126855338237, -1.6069690242163475 1.9151111077974459 C-1.7178208755159217 1.8220953602566548, -1.822095360256653 1.7178208755159234, -1.9151111077974443 1.6069690242163495 C-2.0081268553382357 1.4961171729167755, -2.0927101020998746 1.3753197776503645, -2.1650635094610955 1.250000000000002 C-2.2374169168223164 1.1246802223496395, -2.2997389064531992 0.9910302842862865, -2.34923155196477 0.8550503583141743 C-2.3987241974763407 0.7190704323420621, -2.436891307857981 0.5766288372196907, -2.4620193825305194 0.434120444167329 C-2.487147457203058 0.29161205111496724, -2.5 0.14470681472244545, -2.5 3.636830773662308e-15 C-2.5 -0.14470681472243818, -2.4871474572030587 -0.2916120511149599, -2.4620193825305208 -0.4341204441673218 C-2.436891307857983 -0.5766288372196837, -2.398724197476343 -0.7190704323420553, -2.3492315519647726 -0.8550503583141675 C-2.2997389064532023 -0.9910302842862798, -2.23741691682232 -1.1246802223496328, -2.165063509461099 -1.2499999999999956 C-2.092710102099878 -1.3753197776503583, -2.00812685533824 -1.4961171729167695, -1.9151111077974488 -1.606969024216344 C-1.8220953602566576 -1.7178208755159183, -1.7178208755159263 -1.82209536025665, -1.6069690242163523 -1.9151111077974416 C-1.4961171729167784 -2.0081268553382334, -1.3753197776503672 -2.0927101020998724, -1.2500000000000047 -2.1650635094610937 C-1.1246802223496422 -2.237416916822315, -0.9910302842862897 -2.299738906453198, -0.8550503583141776 -2.3492315519647686 C-0.7190704323420656 -2.3987241974763394, -0.5766288372196942 -2.4368913078579806, -0.43412044416733236 -2.462019382530519 C-0.29161205111497057 -2.4871474572030574, -0.1447068147224489 -2.4999999999999996, -7.120580697431198e-15 -2.5 C0.14470681472243463 -2.5000000000000004, 0.29161205111495647 -2.487147457203059, 0.4341204441673183 -2.4620193825305217 C0.5766288372196802 -2.436891307857984, 0.7190704323420518 -2.3987241974763442, 0.8550503583141642 -2.349231551964774 C0.9910302842862766 -2.2997389064532037, 1.1246802223496295 -2.2374169168223212, 1.2499999999999925 -2.165063509461101 C1.3753197776503554 -2.0927101020998804, 1.4961171729167668 -2.008126855338242, 1.6069690242163412 -1.915111107797451 C1.7178208755159157 -1.82209536025666, 1.8220953602566472 -1.7178208755159294, 1.915111107797439 -1.6069690242163557 C2.0081268553382308 -1.496117172916782, 2.09271010209987 -1.3753197776503712, 2.1650635094610915 -1.2500000000000089 C2.237416916822313 -1.1246802223496466, 2.299738906453196 -0.9910302842862939, 2.3492315519647673 -0.855050358314182 C2.3987241974763385 -0.71907043234207, 2.4368913078579792 -0.5766288372196986, 2.462019382530518 -0.4341204441673369 C2.487147457203057 -0.29161205111497523, 2.4936698970884197 -0.07235340736123454, 2.5 -1.1714553645825241e-14 C2.5063301029115803 0.07235340736121111, 2.50633010291158 -0.07235340736122292, 2.5 0" stroke="#b0a89f" stroke-width="2" fill="none" stroke-dasharray="0 0" style=""></path></g></g></g></g></g></g><defs><filter id="mermaid-4-drop-shadow" height="130%" width="130%"><feDropShadow dx="4" dy="4" stdDeviation="0" flood-opacity="0.06" flood-color="#000000"></feDropShadow></filter></defs><defs><filter id="mermaid-4-drop-shadow-small" height="150%" width="150%"><feDropShadow dx="2" dy="2" stdDeviation="0" flood-opacity="0.06" flood-color="#000000"></feDropShadow></filter></defs></svg></div></div><h3 id="2.5-er-图(entity-relationship)">2.5 ER 图(Entity Relationship)</h3><div class="mermaid-block" data-mermaid="erDiagram
132
+ USER ||--o{ DOCUMENT : creates
133
+ USER {
134
+ string id PK
135
+ string name
136
+ string email
137
+ }
138
+ DOCUMENT {
139
+ string id PK
140
+ string title
141
+ string content
142
+ datetime created_at
143
+ string user_id FK
144
+ }
145
+ DOCUMENT ||--o{ PLUGIN_NODE : contains
146
+ PLUGIN_NODE {
147
+ string id PK
148
+ string type
149
+ string raw_content
150
+ string document_id FK
151
+ }" contenteditable="false"><div class="mermaid-preview"><svg id="mermaid-5" width="100%" xmlns="http://www.w3.org/2000/svg" class="erDiagram" style="max-width: 238.09375px;" viewBox="0 0 238.09375 859.25" role="graphics-document document" aria-roledescription="er"><style>#mermaid-5{font-family:"LXGW WenKai","Noto Serif SC","Source Han Serif SC","Songti SC",Georgia,serif;font-size:16px;fill:#3d3530;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-5 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-5 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-5 .error-icon{fill:#552222;}#mermaid-5 .error-text{fill:#552222;stroke:#552222;}#mermaid-5 .edge-thickness-normal{stroke-width:1px;}#mermaid-5 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-5 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-5 .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-5 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-5 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-5 .marker{fill:#b0a89f;stroke:#b0a89f;}#mermaid-5 .marker.cross{stroke:#b0a89f;}#mermaid-5 svg{font-family:"LXGW WenKai","Noto Serif SC","Source Han Serif SC","Songti SC",Georgia,serif;font-size:16px;}#mermaid-5 p{margin:0;}#mermaid-5 .entityBox{fill:#ddd5cb;stroke:#b0a89f;}#mermaid-5 .relationshipLabelBox{fill:#e8e2db;opacity:0.7;background-color:#e8e2db;}#mermaid-5 .relationshipLabelBox rect{opacity:0.5;}#mermaid-5 .labelBkg{background-color:rgba(232, 226, 219, 0.5);}#mermaid-5 .edgeLabel{background-color:#e8e2db;}#mermaid-5 .edgeLabel .label rect{fill:#e8e2db;}#mermaid-5 .edgeLabel .label text{fill:#3d3530;}#mermaid-5 .edgeLabel .label{fill:#b0a89f;font-size:14px;}#mermaid-5 .label{font-family:"LXGW WenKai","Noto Serif SC","Source Han Serif SC","Songti SC",Georgia,serif;color:#3d3530;}#mermaid-5 .edge-pattern-dashed{stroke-dasharray:8,8;}#mermaid-5 .node rect,#mermaid-5 .node circle,#mermaid-5 .node ellipse,#mermaid-5 .node polygon{fill:#ddd5cb;stroke:#b0a89f;stroke-width:1px;}#mermaid-5 .relationshipLine{stroke:#b0a89f;stroke-width:1px;fill:none;}#mermaid-5 .marker{fill:none!important;stroke:#b0a89f!important;stroke-width:1;}#mermaid-5 [data-look=neo].labelBkg{background-color:rgba(232, 226, 219, 0.5);}#mermaid-5 .node .neo-node{stroke:#b0a89f;}#mermaid-5 [data-look="neo"].node rect,#mermaid-5 [data-look="neo"].cluster rect,#mermaid-5 [data-look="neo"].node polygon{stroke:#b0a89f;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-5 [data-look="neo"].node path{stroke:#b0a89f;stroke-width:1px;}#mermaid-5 [data-look="neo"].node .outer-path{filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-5 [data-look="neo"].node .neo-line path{stroke:#b0a89f;filter:none;}#mermaid-5 [data-look="neo"].node circle{stroke:#b0a89f;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-5 [data-look="neo"].node circle .state-start{fill:#000000;}#mermaid-5 [data-look="neo"].icon-shape .icon{fill:#b0a89f;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-5 [data-look="neo"].icon-shape .icon-neo path{stroke:#b0a89f;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-5 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}</style><g><defs><marker id="mermaid-5_er-onlyOneStart" class="marker onlyOne er" refX="0" refY="9" markerWidth="18" markerHeight="18" orient="auto"><path d="M9,0 L9,18 M15,0 L15,18"></path></marker></defs><defs><marker id="mermaid-5_er-onlyOneEnd" class="marker onlyOne er" refX="18" refY="9" markerWidth="18" markerHeight="18" orient="auto"><path d="M3,0 L3,18 M9,0 L9,18"></path></marker></defs><defs><marker id="mermaid-5_er-zeroOrOneStart" class="marker zeroOrOne er" refX="0" refY="9" markerWidth="30" markerHeight="18" orient="auto"><circle fill="white" cx="21" cy="9" r="6"></circle><path d="M9,0 L9,18"></path></marker></defs><defs><marker id="mermaid-5_er-zeroOrOneEnd" class="marker zeroOrOne er" refX="30" refY="9" markerWidth="30" markerHeight="18" orient="auto"><circle fill="white" cx="9" cy="9" r="6"></circle><path d="M21,0 L21,18"></path></marker></defs><defs><marker id="mermaid-5_er-oneOrMoreStart" class="marker oneOrMore er" refX="18" refY="18" markerWidth="45" markerHeight="36" orient="auto"><path d="M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27"></path></marker></defs><defs><marker id="mermaid-5_er-oneOrMoreEnd" class="marker oneOrMore er" refX="27" refY="18" markerWidth="45" markerHeight="36" orient="auto"><path d="M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18"></path></marker></defs><defs><marker id="mermaid-5_er-zeroOrMoreStart" class="marker zeroOrMore er" refX="18" refY="18" markerWidth="57" markerHeight="36" orient="auto"><circle fill="white" cx="48" cy="18" r="6"></circle><path d="M0,18 Q18,0 36,18 Q18,36 0,18"></path></marker></defs><defs><marker id="mermaid-5_er-zeroOrMoreEnd" class="marker zeroOrMore er" refX="39" refY="18" markerWidth="57" markerHeight="36" orient="auto"><circle fill="white" cx="9" cy="18" r="6"></circle><path d="M21,18 Q39,0 57,18 Q39,36 21,18"></path></marker></defs><g class="root"><g class="clusters"></g><g class="edgePaths"><path d="M119.047,179L119.047,187.417C119.047,195.833,119.047,212.667,119.047,229.5C119.047,246.333,119.047,263.167,119.047,271.583L119.047,280" id="mermaid-5-id_entity-USER-0_entity-DOCUMENT-1_0" class=" edge-thickness-normal edge-pattern-solid relationshipLine" style="undefined;;;undefined" data-edge="true" data-et="edge" data-id="id_entity-USER-0_entity-DOCUMENT-1_0" data-points="W3sieCI6MTE5LjA0Njg3NSwieSI6MTc5fSx7IngiOjExOS4wNDY4NzUsInkiOjIyOS41fSx7IngiOjExOS4wNDY4NzUsInkiOjI4MH1d" data-look="classic" marker-start="url(#mermaid-5_er-onlyOneStart)" marker-end="url(#mermaid-5_er-zeroOrMoreEnd)"></path><path d="M119.047,536.5L119.047,544.917C119.047,553.333,119.047,570.167,119.047,587C119.047,603.833,119.047,620.667,119.047,629.083L119.047,637.5" id="mermaid-5-id_entity-DOCUMENT-1_entity-PLUGIN_NODE-2_1" class=" edge-thickness-normal edge-pattern-solid relationshipLine" style="undefined;;;undefined" data-edge="true" data-et="edge" data-id="id_entity-DOCUMENT-1_entity-PLUGIN_NODE-2_1" data-points="W3sieCI6MTE5LjA0Njg3NSwieSI6NTM2LjV9LHsieCI6MTE5LjA0Njg3NSwieSI6NTg3fSx7IngiOjExOS4wNDY4NzUsInkiOjYzNy41fV0=" data-look="classic" marker-start="url(#mermaid-5_er-onlyOneStart)" marker-end="url(#mermaid-5_er-zeroOrMoreEnd)"></path></g><g class="edgeLabels"><g class="edgeLabel" transform="translate(119.046875, 229.5)"><g class="label" data-id="id_entity-USER-0_entity-DOCUMENT-1_0" transform="translate(-19.7890625, -10.5)"><foreignObject width="39.578125" height="27"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel "><p>creates</p></span></div></foreignObject></g></g><g class="edgeLabel" transform="translate(119.046875, 587)"><g class="label" data-id="id_entity-DOCUMENT-1_entity-PLUGIN_NODE-2_1" transform="translate(-24.1171875, -10.5)"><foreignObject width="48.234375" height="27"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel "><p>contains</p></span></div></foreignObject></g></g></g><g class="nodes"><g class="node default " id="mermaid-5-entity-USER-0" data-look="classic" transform="translate(119.046875, 93.5)"><g class="outer-path" style=""><path d="M-84.6171875 -85.5 L84.6171875 -85.5 L84.6171875 85.5 L-84.6171875 85.5" stroke="none" stroke-width="0" fill="#ddd5cb"></path><path d="M-84.6171875 -85.5 C-43.31654640644397 -85.5, -2.015905312887938 -85.5, 84.6171875 -85.5 M-84.6171875 -85.5 C-17.985736445847166 -85.5, 48.64571460830567 -85.5, 84.6171875 -85.5 M84.6171875 -85.5 C84.6171875 -33.865361073013254, 84.6171875 17.76927785397349, 84.6171875 85.5 M84.6171875 -85.5 C84.6171875 -22.034037134774366, 84.6171875 41.43192573045127, 84.6171875 85.5 M84.6171875 85.5 C35.23607470712455 85.5, -14.145038085750897 85.5, -84.6171875 85.5 M84.6171875 85.5 C47.33409983482393 85.5, 10.051012169647862 85.5, -84.6171875 85.5 M-84.6171875 85.5 C-84.6171875 32.527458622730755, -84.6171875 -20.44508275453849, -84.6171875 -85.5 M-84.6171875 85.5 C-84.6171875 39.49973285699448, -84.6171875 -6.500534286011046, -84.6171875 -85.5" stroke="#b0a89f" stroke-width="1.3" fill="none" stroke-dasharray="0 0"></path></g><g style="" class="row-rect-odd"><path d="M-84.6171875 -42.75 L84.6171875 -42.75 L84.6171875 0 L-84.6171875 0" stroke="none" stroke-width="0" fill="hsl(33.3333333333, 20.9302325581%, 100%)"></path><path d="M-84.6171875 -42.75 C-22.26178156042876 -42.75, 40.09362437914248 -42.75, 84.6171875 -42.75 M-84.6171875 -42.75 C-37.877366610036354 -42.75, 8.862454279927292 -42.75, 84.6171875 -42.75 M84.6171875 -42.75 C84.6171875 -32.36918983221338, 84.6171875 -21.988379664426752, 84.6171875 0 M84.6171875 -42.75 C84.6171875 -31.10352367729679, 84.6171875 -19.457047354593577, 84.6171875 0 M84.6171875 0 C40.396290260629804 0, -3.824606978740391 0, -84.6171875 0 M84.6171875 0 C20.630899581343094 0, -43.35538833731381 0, -84.6171875 0 M-84.6171875 0 C-84.6171875 -8.87257586502512, -84.6171875 -17.74515173005024, -84.6171875 -42.75 M-84.6171875 0 C-84.6171875 -13.968414773913004, -84.6171875 -27.936829547826008, -84.6171875 -42.75" stroke="#b0a89f" stroke-width="1.3" fill="none" stroke-dasharray="0 0"></path></g><g style="" class="row-rect-even"><path d="M-84.6171875 0 L84.6171875 0 L84.6171875 42.75 L-84.6171875 42.75" stroke="none" stroke-width="0" fill="hsl(33.3333333333, 20.9302325581%, 84.137254902%)"></path><path d="M-84.6171875 0 C-29.759814502305893 0, 25.097558495388213 0, 84.6171875 0 M-84.6171875 0 C-19.711055974322917 0, 45.195075551354165 0, 84.6171875 0 M84.6171875 0 C84.6171875 11.28802713856982, 84.6171875 22.57605427713964, 84.6171875 42.75 M84.6171875 0 C84.6171875 11.442544215290926, 84.6171875 22.885088430581852, 84.6171875 42.75 M84.6171875 42.75 C39.287697539904 42.75, -6.041792420191996 42.75, -84.6171875 42.75 M84.6171875 42.75 C34.84322133093472 42.75, -14.930744838130565 42.75, -84.6171875 42.75 M-84.6171875 42.75 C-84.6171875 26.559183736007554, -84.6171875 10.368367472015109, -84.6171875 0 M-84.6171875 42.75 C-84.6171875 30.942984954952372, -84.6171875 19.135969909904745, -84.6171875 0" stroke="#b0a89f" stroke-width="1.3" fill="none" stroke-dasharray="0 0"></path></g><g style="" class="row-rect-odd"><path d="M-84.6171875 42.75 L84.6171875 42.75 L84.6171875 85.5 L-84.6171875 85.5" stroke="none" stroke-width="0" fill="hsl(33.3333333333, 20.9302325581%, 100%)"></path><path d="M-84.6171875 42.75 C-44.774651923705356 42.75, -4.932116347410712 42.75, 84.6171875 42.75 M-84.6171875 42.75 C-50.175799438301325 42.75, -15.734411376602651 42.75, 84.6171875 42.75 M84.6171875 42.75 C84.6171875 55.52367930188644, 84.6171875 68.29735860377288, 84.6171875 85.5 M84.6171875 42.75 C84.6171875 56.981228213166354, 84.6171875 71.21245642633271, 84.6171875 85.5 M84.6171875 85.5 C29.210389577199457 85.5, -26.196408345601085 85.5, -84.6171875 85.5 M84.6171875 85.5 C21.938805513417364 85.5, -40.73957647316527 85.5, -84.6171875 85.5 M-84.6171875 85.5 C-84.6171875 76.50777590650883, -84.6171875 67.51555181301765, -84.6171875 42.75 M-84.6171875 85.5 C-84.6171875 72.11717211118084, -84.6171875 58.73434422236167, -84.6171875 42.75" stroke="#b0a89f" stroke-width="1.3" fill="none" stroke-dasharray="0 0"></path></g><g class="label name" transform="translate(-19.8515625, -76.125)" style=""><foreignObject width="39.703125" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 137px; text-align: start;"><span class="nodeLabel "><p>USER</p></span></div></foreignObject></g><g class="label attribute-type" transform="translate(-72.1171875, -33.375)" style=""><foreignObject width="37.125" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 137px; text-align: start;"><span class="nodeLabel "><p>string</p></span></div></foreignObject></g><g class="label attribute-name" transform="translate(-9.9921875, -33.375)" style=""><foreignObject width="12.546875" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 112px; text-align: start;"><span class="nodeLabel "><p>id</p></span></div></foreignObject></g><g class="label attribute-keys" transform="translate(51.203125, -33.375)" style=""><foreignObject width="20.9140625" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 119px; text-align: start;"><span class="nodeLabel "><p>PK</p></span></div></foreignObject></g><g class="label attribute-comment" transform="translate(97.1171875, -33.375)" style=""><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 100px; text-align: start;"><span class="nodeLabel "></span></div></foreignObject></g><g class="label attribute-type" transform="translate(-72.1171875, 9.375)" style=""><foreignObject width="37.125" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 137px; text-align: start;"><span class="nodeLabel "><p>string</p></span></div></foreignObject></g><g class="label attribute-name" transform="translate(-9.9921875, 9.375)" style=""><foreignObject width="36.0390625" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 135px; text-align: start;"><span class="nodeLabel "><p>name</p></span></div></foreignObject></g><g class="label attribute-keys" transform="translate(51.203125, 6.375)" style=""><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 100px; text-align: start;"><span class="nodeLabel "></span></div></foreignObject></g><g class="label attribute-comment" transform="translate(97.1171875, 6.375)" style=""><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 100px; text-align: start;"><span class="nodeLabel "></span></div></foreignObject></g><g class="label attribute-type" transform="translate(-72.1171875, 52.125)" style=""><foreignObject width="37.125" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 137px; text-align: start;"><span class="nodeLabel "><p>string</p></span></div></foreignObject></g><g class="label attribute-name" transform="translate(-9.9921875, 52.125)" style=""><foreignObject width="36.1953125" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 134px; text-align: start;"><span class="nodeLabel "><p>email</p></span></div></foreignObject></g><g class="label attribute-keys" transform="translate(51.203125, 49.125)" style=""><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 100px; text-align: start;"><span class="nodeLabel "></span></div></foreignObject></g><g class="label attribute-comment" transform="translate(97.1171875, 49.125)" style=""><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 100px; text-align: start;"><span class="nodeLabel "></span></div></foreignObject></g><g class="divider"><path d="M-84.6171875 -42.75005 L-84.6171875 -42.74995 L84.6171875 -42.74995 L84.6171875 -42.75005" stroke="none" stroke-width="0" fill="#ddd5cb" fill-rule="evenodd"></path><path d="M-84.6171875 -42.75005 C-84.6171875 -42.75002257002572, -84.6171875 -42.74999514005143, -84.6171875 -42.74995 M-84.6171875 -42.75005 C-84.6171875 -42.75002907276003, -84.6171875 -42.75000814552006, -84.6171875 -42.74995 M-84.6171875 -42.74995 C-42.12127975728676 -42.74995, 0.37462798542648557 -42.74995, 84.6171875 -42.74995 M-84.6171875 -42.74995 C-30.24324552734216 -42.74995, 24.130696445315678 -42.74995, 84.6171875 -42.74995 M84.6171875 -42.74995 C84.6171875 -42.74998952607511, 84.6171875 -42.75002905215023, 84.6171875 -42.75005 M84.6171875 -42.74995 C84.6171875 -42.749984829556965, 84.6171875 -42.75001965911394, 84.6171875 -42.75005 M84.6171875 -42.75005 C47.12909885380616 -42.75005, 9.641010207612325 -42.75005, -84.6171875 -42.75005 M84.6171875 -42.75005 C23.98130992648902 -42.75005, -36.65456764702196 -42.75005, -84.6171875 -42.75005" stroke="#b0a89f" stroke-width="1.3" fill="none" stroke-dasharray="0 0"></path></g><g class="divider"><path d="M-22.4922375 -42.75 L-22.4921375 -42.75 L-22.4921375 85.5 L-22.4922375 85.5" stroke="none" stroke-width="0" fill="#ddd5cb" fill-rule="evenodd"></path><path d="M-22.4922375 -42.75 C-22.492203325888116 -42.75, -22.49216915177623 -42.75, -22.4921375 -42.75 M-22.4922375 -42.75 C-22.492201941993116 -42.75, -22.492166383986234 -42.75, -22.4921375 -42.75 M-22.4921375 -42.75 C-22.4921375 8.380480921084889, -22.4921375 59.51096184216978, -22.4921375 85.5 M-22.4921375 -42.75 C-22.4921375 -14.558030704449408, -22.4921375 13.633938591101185, -22.4921375 85.5 M-22.4921375 85.5 C-22.49216123847717 85.5, -22.49218497695434 85.5, -22.4922375 85.5 M-22.4921375 85.5 C-22.492163856010013 85.5, -22.492190212020024 85.5, -22.4922375 85.5 M-22.4922375 85.5 C-22.4922375 58.14933102417069, -22.4922375 30.798662048341377, -22.4922375 -42.75 M-22.4922375 85.5 C-22.4922375 58.73828342652295, -22.4922375 31.976566853045895, -22.4922375 -42.75" stroke="#b0a89f" stroke-width="1.3" fill="none" stroke-dasharray="0 0"></path></g><g class="divider"><path d="M38.703075 -42.75 L38.703175 -42.75 L38.703175 85.5 L38.703075 85.5" stroke="none" stroke-width="0" fill="#ddd5cb" fill-rule="evenodd"></path><path d="M38.703075 -42.75 C38.70309837504826 -42.75, 38.703121750096535 -42.75, 38.703175 -42.75 M38.703075 -42.75 C38.70310833313626 -42.75, 38.70314166627251 -42.75, 38.703175 -42.75 M38.703175 -42.75 C38.703175 1.1335100069566266, 38.703175 45.01702001391325, 38.703175 85.5 M38.703175 -42.75 C38.703175 8.539392838145254, 38.703175 59.82878567629051, 38.703175 85.5 M38.703175 85.5 C38.703140315536885 85.5, 38.70310563107376 85.5, 38.703075 85.5 M38.703175 85.5 C38.70313586427293 85.5, 38.70309672854585 85.5, 38.703075 85.5 M38.703075 85.5 C38.703075 52.133047596313574, 38.703075 18.766095192627148, 38.703075 -42.75 M38.703075 85.5 C38.703075 49.17938986757042, 38.703075 12.858779735140843, 38.703075 -42.75" stroke="#b0a89f" stroke-width="1.3" fill="none" stroke-dasharray="0 0"></path></g><g class="divider"><path d="M-84.6171875 -42.75005 L-84.6171875 -42.74995 L84.6171875 -42.74995 L84.6171875 -42.75005" stroke="none" stroke-width="0" fill="#ddd5cb" fill-rule="evenodd"></path><path d="M-84.6171875 -42.75005 C-84.6171875 -42.75002352562188, -84.6171875 -42.74999705124376, -84.6171875 -42.74995 M-84.6171875 -42.75005 C-84.6171875 -42.75002128506246, -84.6171875 -42.74999257012492, -84.6171875 -42.74995 M-84.6171875 -42.74995 C-31.45553407825151 -42.74995, 21.70611934349698 -42.74995, 84.6171875 -42.74995 M-84.6171875 -42.74995 C-35.267623217724534 -42.74995, 14.081941064550932 -42.74995, 84.6171875 -42.74995 M84.6171875 -42.74995 C84.6171875 -42.749983582603186, 84.6171875 -42.750017165206366, 84.6171875 -42.75005 M84.6171875 -42.74995 C84.6171875 -42.74997362602394, 84.6171875 -42.749997252047876, 84.6171875 -42.75005 M84.6171875 -42.75005 C38.35553883684872 -42.75005, -7.906109826302554 -42.75005, -84.6171875 -42.75005 M84.6171875 -42.75005 C31.2086953877852 -42.75005, -22.199796724429604 -42.75005, -84.6171875 -42.75005" stroke="#b0a89f" stroke-width="1.3" fill="none" stroke-dasharray="0 0"></path></g></g><g class="node default " id="mermaid-5-entity-DOCUMENT-1" data-look="classic" transform="translate(119.046875, 408.25)"><g class="outer-path" style=""><path d="M-111.046875 -128.25 L111.046875 -128.25 L111.046875 128.25 L-111.046875 128.25" stroke="none" stroke-width="0" fill="#ddd5cb"></path><path d="M-111.046875 -128.25 C-40.87150280908669 -128.25, 29.303869381826615 -128.25, 111.046875 -128.25 M-111.046875 -128.25 C-60.98471047489386 -128.25, -10.922545949787718 -128.25, 111.046875 -128.25 M111.046875 -128.25 C111.046875 -59.97295062125805, 111.046875 8.3040987574839, 111.046875 128.25 M111.046875 -128.25 C111.046875 -55.452537075387085, 111.046875 17.34492584922583, 111.046875 128.25 M111.046875 128.25 C23.761111206486476 128.25, -63.52465258702705 128.25, -111.046875 128.25 M111.046875 128.25 C50.41879640966475 128.25, -10.209282180670499 128.25, -111.046875 128.25 M-111.046875 128.25 C-111.046875 67.55436508265527, -111.046875 6.858730165310519, -111.046875 -128.25 M-111.046875 128.25 C-111.046875 44.260951932448506, -111.046875 -39.72809613510299, -111.046875 -128.25" stroke="#b0a89f" stroke-width="1.3" fill="none" stroke-dasharray="0 0"></path></g><g style="" class="row-rect-odd"><path d="M-111.046875 -85.5 L111.046875 -85.5 L111.046875 -42.75 L-111.046875 -42.75" stroke="none" stroke-width="0" fill="hsl(33.3333333333, 20.9302325581%, 100%)"></path><path d="M-111.046875 -85.5 C-42.1238326799522 -85.5, 26.799209640095597 -85.5, 111.046875 -85.5 M-111.046875 -85.5 C-39.47612641854896 -85.5, 32.094622162902084 -85.5, 111.046875 -85.5 M111.046875 -85.5 C111.046875 -72.42837032885183, 111.046875 -59.35674065770364, 111.046875 -42.75 M111.046875 -85.5 C111.046875 -76.8246918448357, 111.046875 -68.1493836896714, 111.046875 -42.75 M111.046875 -42.75 C40.690545457852764 -42.75, -29.665784084294472 -42.75, -111.046875 -42.75 M111.046875 -42.75 C52.08456532754793 -42.75, -6.877744344904144 -42.75, -111.046875 -42.75 M-111.046875 -42.75 C-111.046875 -53.10714162760684, -111.046875 -63.46428325521369, -111.046875 -85.5 M-111.046875 -42.75 C-111.046875 -52.91024532294939, -111.046875 -63.070490645898786, -111.046875 -85.5" stroke="#b0a89f" stroke-width="1.3" fill="none" stroke-dasharray="0 0"></path></g><g style="" class="row-rect-even"><path d="M-111.046875 -42.75 L111.046875 -42.75 L111.046875 0 L-111.046875 0" stroke="none" stroke-width="0" fill="hsl(33.3333333333, 20.9302325581%, 84.137254902%)"></path><path d="M-111.046875 -42.75 C-25.18458844603451 -42.75, 60.67769810793098 -42.75, 111.046875 -42.75 M-111.046875 -42.75 C-62.65450742520065 -42.75, -14.262139850401297 -42.75, 111.046875 -42.75 M111.046875 -42.75 C111.046875 -32.093287973595736, 111.046875 -21.436575947191468, 111.046875 0 M111.046875 -42.75 C111.046875 -27.371058191034706, 111.046875 -11.992116382069415, 111.046875 0 M111.046875 0 C56.7128977812377 0, 2.3789205624754004 0, -111.046875 0 M111.046875 0 C53.87645223827167 0, -3.2939705234566645 0, -111.046875 0 M-111.046875 0 C-111.046875 -14.418155333577467, -111.046875 -28.836310667154933, -111.046875 -42.75 M-111.046875 0 C-111.046875 -8.82403018723826, -111.046875 -17.64806037447652, -111.046875 -42.75" stroke="#b0a89f" stroke-width="1.3" fill="none" stroke-dasharray="0 0"></path></g><g style="" class="row-rect-odd"><path d="M-111.046875 0 L111.046875 0 L111.046875 42.75 L-111.046875 42.75" stroke="none" stroke-width="0" fill="hsl(33.3333333333, 20.9302325581%, 100%)"></path><path d="M-111.046875 0 C-45.34936764997268 0, 20.348139700054645 0, 111.046875 0 M-111.046875 0 C-28.48600033223724 0, 54.07487433552552 0, 111.046875 0 M111.046875 0 C111.046875 12.385887526586005, 111.046875 24.77177505317201, 111.046875 42.75 M111.046875 0 C111.046875 12.006639759820725, 111.046875 24.01327951964145, 111.046875 42.75 M111.046875 42.75 C38.30681609637067 42.75, -34.433242807258665 42.75, -111.046875 42.75 M111.046875 42.75 C54.31008057537385 42.75, -2.4267138492522946 42.75, -111.046875 42.75 M-111.046875 42.75 C-111.046875 26.235298464593704, -111.046875 9.720596929187408, -111.046875 0 M-111.046875 42.75 C-111.046875 32.574469661274925, -111.046875 22.39893932254985, -111.046875 0" stroke="#b0a89f" stroke-width="1.3" fill="none" stroke-dasharray="0 0"></path></g><g style="" class="row-rect-even"><path d="M-111.046875 42.75 L111.046875 42.75 L111.046875 85.5 L-111.046875 85.5" stroke="none" stroke-width="0" fill="hsl(33.3333333333, 20.9302325581%, 84.137254902%)"></path><path d="M-111.046875 42.75 C-26.55288030561978 42.75, 57.94111438876044 42.75, 111.046875 42.75 M-111.046875 42.75 C-34.2020986063319 42.75, 42.6426777873362 42.75, 111.046875 42.75 M111.046875 42.75 C111.046875 52.40906330661571, 111.046875 62.068126613231414, 111.046875 85.5 M111.046875 42.75 C111.046875 52.29031373685417, 111.046875 61.83062747370835, 111.046875 85.5 M111.046875 85.5 C55.325298102933886 85.5, -0.396278794132229 85.5, -111.046875 85.5 M111.046875 85.5 C39.84046363997882 85.5, -31.365947720042357 85.5, -111.046875 85.5 M-111.046875 85.5 C-111.046875 71.7347293686718, -111.046875 57.9694587373436, -111.046875 42.75 M-111.046875 85.5 C-111.046875 70.67705350494667, -111.046875 55.85410700989333, -111.046875 42.75" stroke="#b0a89f" stroke-width="1.3" fill="none" stroke-dasharray="0 0"></path></g><g style="" class="row-rect-odd"><path d="M-111.046875 85.5 L111.046875 85.5 L111.046875 128.25 L-111.046875 128.25" stroke="none" stroke-width="0" fill="hsl(33.3333333333, 20.9302325581%, 100%)"></path><path d="M-111.046875 85.5 C-61.2127459566582 85.5, -11.378616913316407 85.5, 111.046875 85.5 M-111.046875 85.5 C-31.947953321282526 85.5, 47.15096835743495 85.5, 111.046875 85.5 M111.046875 85.5 C111.046875 96.45982390424129, 111.046875 107.41964780848258, 111.046875 128.25 M111.046875 85.5 C111.046875 97.59384779313396, 111.046875 109.68769558626792, 111.046875 128.25 M111.046875 128.25 C31.97850187389035 128.25, -47.0898712522193 128.25, -111.046875 128.25 M111.046875 128.25 C51.36226649825467 128.25, -8.322342003490661 128.25, -111.046875 128.25 M-111.046875 128.25 C-111.046875 119.30772934105988, -111.046875 110.36545868211975, -111.046875 85.5 M-111.046875 128.25 C-111.046875 116.71650854604232, -111.046875 105.18301709208464, -111.046875 85.5" stroke="#b0a89f" stroke-width="1.3" fill="none" stroke-dasharray="0 0"></path></g><g class="label name" transform="translate(-46.328125, -118.875)" style=""><foreignObject width="92.65625" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 181px; text-align: start;"><span class="nodeLabel "><p>DOCUMENT</p></span></div></foreignObject></g><g class="label attribute-type" transform="translate(-98.546875, -76.125)" style=""><foreignObject width="37.125" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 137px; text-align: start;"><span class="nodeLabel "><p>string</p></span></div></foreignObject></g><g class="label attribute-name" transform="translate(-16.25, -76.125)" style=""><foreignObject width="12.546875" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 112px; text-align: start;"><span class="nodeLabel "><p>id</p></span></div></foreignObject></g><g class="label attribute-keys" transform="translate(77.6328125, -76.125)" style=""><foreignObject width="20.9140625" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 119px; text-align: start;"><span class="nodeLabel "><p>PK</p></span></div></foreignObject></g><g class="label attribute-comment" transform="translate(123.546875, -76.125)" style=""><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 100px; text-align: start;"><span class="nodeLabel "></span></div></foreignObject></g><g class="label attribute-type" transform="translate(-98.546875, -33.375)" style=""><foreignObject width="37.125" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 137px; text-align: start;"><span class="nodeLabel "><p>string</p></span></div></foreignObject></g><g class="label attribute-name" transform="translate(-16.25, -33.375)" style=""><foreignObject width="25.90625" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 125px; text-align: start;"><span class="nodeLabel "><p>title</p></span></div></foreignObject></g><g class="label attribute-keys" transform="translate(77.6328125, -33.375)" style=""><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 100px; text-align: start;"><span class="nodeLabel "></span></div></foreignObject></g><g class="label attribute-comment" transform="translate(123.546875, -33.375)" style=""><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 100px; text-align: start;"><span class="nodeLabel "></span></div></foreignObject></g><g class="label attribute-type" transform="translate(-98.546875, 9.375)" style=""><foreignObject width="37.125" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 137px; text-align: start;"><span class="nodeLabel "><p>string</p></span></div></foreignObject></g><g class="label attribute-name" transform="translate(-16.25, 9.375)" style=""><foreignObject width="48.9765625" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 149px; text-align: start;"><span class="nodeLabel "><p>content</p></span></div></foreignObject></g><g class="label attribute-keys" transform="translate(77.6328125, 6.375)" style=""><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 100px; text-align: start;"><span class="nodeLabel "></span></div></foreignObject></g><g class="label attribute-comment" transform="translate(123.546875, 6.375)" style=""><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 100px; text-align: start;"><span class="nodeLabel "></span></div></foreignObject></g><g class="label attribute-type" transform="translate(-98.546875, 52.125)" style=""><foreignObject width="57.296875" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 157px; text-align: start;"><span class="nodeLabel "><p>datetime</p></span></div></foreignObject></g><g class="label attribute-name" transform="translate(-16.25, 52.125)" style=""><foreignObject width="68.8828125" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 170px; text-align: start;"><span class="nodeLabel "><p>created_at</p></span></div></foreignObject></g><g class="label attribute-keys" transform="translate(77.6328125, 49.125)" style=""><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 100px; text-align: start;"><span class="nodeLabel "></span></div></foreignObject></g><g class="label attribute-comment" transform="translate(123.546875, 49.125)" style=""><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 100px; text-align: start;"><span class="nodeLabel "></span></div></foreignObject></g><g class="label attribute-type" transform="translate(-98.546875, 94.875)" style=""><foreignObject width="37.125" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 137px; text-align: start;"><span class="nodeLabel "><p>string</p></span></div></foreignObject></g><g class="label attribute-name" transform="translate(-16.25, 94.875)" style=""><foreignObject width="47.3671875" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 148px; text-align: start;"><span class="nodeLabel "><p>user_id</p></span></div></foreignObject></g><g class="label attribute-keys" transform="translate(77.6328125, 91.875)" style=""><foreignObject width="20.9140625" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 118px; text-align: start;"><span class="nodeLabel "><p>FK</p></span></div></foreignObject></g><g class="label attribute-comment" transform="translate(123.546875, 91.875)" style=""><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 100px; text-align: start;"><span class="nodeLabel "></span></div></foreignObject></g><g class="divider"><path d="M-111.046875 -85.50005 L-111.046875 -85.49995 L111.046875 -85.49995 L111.046875 -85.50005" stroke="none" stroke-width="0" fill="#ddd5cb" fill-rule="evenodd"></path><path d="M-111.046875 -85.50005 C-111.046875 -85.50002313722173, -111.046875 -85.49999627444348, -111.046875 -85.49995 M-111.046875 -85.50005 C-111.046875 -85.50002734623111, -111.046875 -85.5000046924622, -111.046875 -85.49995 M-111.046875 -85.49995 C-45.91335043281876 -85.49995, 19.22017413436248 -85.49995, 111.046875 -85.49995 M-111.046875 -85.49995 C-51.79922491509753 -85.49995, 7.448425169804935 -85.49995, 111.046875 -85.49995 M111.046875 -85.49995 C111.046875 -85.4999874631743, 111.046875 -85.5000249263486, 111.046875 -85.50005 M111.046875 -85.49995 C111.046875 -85.4999878056965, 111.046875 -85.50002561139301, 111.046875 -85.50005 M111.046875 -85.50005 C52.11746872312775 -85.50005, -6.8119375537444995 -85.50005, -111.046875 -85.50005 M111.046875 -85.50005 C54.6040764563179 -85.50005, -1.8387220873642036 -85.50005, -111.046875 -85.50005" stroke="#b0a89f" stroke-width="1.3" fill="none" stroke-dasharray="0 0"></path></g><g class="divider"><path d="M-28.75005 -85.5 L-28.74995 -85.5 L-28.74995 128.25 L-28.75005 128.25" stroke="none" stroke-width="0" fill="#ddd5cb" fill-rule="evenodd"></path><path d="M-28.75005 -85.5 C-28.75001172717022 -85.5, -28.74997345434044 -85.5, -28.74995 -85.5 M-28.75005 -85.5 C-28.750028971313203 -85.5, -28.7500079426264 -85.5, -28.74995 -85.5 M-28.74995 -85.5 C-28.74995 -39.23169296837796, -28.74995 7.036614063244073, -28.74995 128.25 M-28.74995 -85.5 C-28.74995 -10.3501141294972, -28.74995 64.7997717410056, -28.74995 128.25 M-28.74995 128.25 C-28.749979143383904 128.25, -28.75000828676781 128.25, -28.75005 128.25 M-28.74995 128.25 C-28.749981397574416 128.25, -28.75001279514883 128.25, -28.75005 128.25 M-28.75005 128.25 C-28.75005 49.11642699322043, -28.75005 -30.01714601355914, -28.75005 -85.5 M-28.75005 128.25 C-28.75005 45.310892929598324, -28.75005 -37.62821414080335, -28.75005 -85.5" stroke="#b0a89f" stroke-width="1.3" fill="none" stroke-dasharray="0 0"></path></g><g class="divider"><path d="M65.1327625 -85.5 L65.1328625 -85.5 L65.1328625 128.25 L65.1327625 128.25" stroke="none" stroke-width="0" fill="#ddd5cb" fill-rule="evenodd"></path><path d="M65.1327625 -85.5 C65.1327841274769 -85.5, 65.1328057549538 -85.5, 65.1328625 -85.5 M65.1327625 -85.5 C65.13279230106487 -85.5, 65.13282210212972 -85.5, 65.1328625 -85.5 M65.1328625 -85.5 C65.1328625 -24.233664255015803, 65.1328625 37.03267148996839, 65.1328625 128.25 M65.1328625 -85.5 C65.1328625 -41.47481738734291, 65.1328625 2.550365225314181, 65.1328625 128.25 M65.1328625 128.25 C65.13282606271902 128.25, 65.13278962543802 128.25, 65.1327625 128.25 M65.1328625 128.25 C65.13282697628964 128.25, 65.13279145257927 128.25, 65.1327625 128.25 M65.1327625 128.25 C65.1327625 51.42095591231471, 65.1327625 -25.40808817537058, 65.1327625 -85.5 M65.1327625 128.25 C65.1327625 55.917516057441205, 65.1327625 -16.41496788511759, 65.1327625 -85.5" stroke="#b0a89f" stroke-width="1.3" fill="none" stroke-dasharray="0 0"></path></g><g class="divider"><path d="M-111.046875 -85.50005 L-111.046875 -85.49995 L111.046875 -85.49995 L111.046875 -85.50005" stroke="none" stroke-width="0" fill="#ddd5cb" fill-rule="evenodd"></path><path d="M-111.046875 -85.50005 C-111.046875 -85.50002199496625, -111.046875 -85.49999398993249, -111.046875 -85.49995 M-111.046875 -85.50005 C-111.046875 -85.50001893863983, -111.046875 -85.49998787727964, -111.046875 -85.49995 M-111.046875 -85.49995 C-36.29234023752906 -85.49995, 38.46219452494188 -85.49995, 111.046875 -85.49995 M-111.046875 -85.49995 C-49.531334059001566 -85.49995, 11.984206881996869 -85.49995, 111.046875 -85.49995 M111.046875 -85.49995 C111.046875 -85.49998537358213, 111.046875 -85.50002074716427, 111.046875 -85.50005 M111.046875 -85.49995 C111.046875 -85.49998036715583, 111.046875 -85.50001073431167, 111.046875 -85.50005 M111.046875 -85.50005 C40.72078500353581 -85.50005, -29.60530499292838 -85.50005, -111.046875 -85.50005 M111.046875 -85.50005 C47.13111233826414 -85.50005, -16.784650323471723 -85.50005, -111.046875 -85.50005" stroke="#b0a89f" stroke-width="1.3" fill="none" stroke-dasharray="0 0"></path></g></g><g class="node default " id="mermaid-5-entity-PLUGIN_NODE-2" data-look="classic" transform="translate(119.046875, 744.375)"><g class="outer-path" style=""><path d="M-108.984375 -106.875 L108.984375 -106.875 L108.984375 106.875 L-108.984375 106.875" stroke="none" stroke-width="0" fill="#ddd5cb"></path><path d="M-108.984375 -106.875 C-34.86553609914506 -106.875, 39.25330280170988 -106.875, 108.984375 -106.875 M-108.984375 -106.875 C-25.867054242959668 -106.875, 57.250266514080664 -106.875, 108.984375 -106.875 M108.984375 -106.875 C108.984375 -22.22189799466142, 108.984375 62.43120401067716, 108.984375 106.875 M108.984375 -106.875 C108.984375 -51.436033429345905, 108.984375 4.002933141308191, 108.984375 106.875 M108.984375 106.875 C29.07798824807871 106.875, -50.82839850384258 106.875, -108.984375 106.875 M108.984375 106.875 C28.321513197750576 106.875, -52.34134860449885 106.875, -108.984375 106.875 M-108.984375 106.875 C-108.984375 51.292108618134606, -108.984375 -4.290782763730789, -108.984375 -106.875 M-108.984375 106.875 C-108.984375 24.23216959460993, -108.984375 -58.41066081078014, -108.984375 -106.875" stroke="#b0a89f" stroke-width="1.3" fill="none" stroke-dasharray="0 0"></path></g><g style="" class="row-rect-odd"><path d="M-108.984375 -64.125 L108.984375 -64.125 L108.984375 -21.375 L-108.984375 -21.375" stroke="none" stroke-width="0" fill="hsl(33.3333333333, 20.9302325581%, 100%)"></path><path d="M-108.984375 -64.125 C-40.22603721667696 -64.125, 28.532300566646086 -64.125, 108.984375 -64.125 M-108.984375 -64.125 C-22.164803223254893 -64.125, 64.65476855349021 -64.125, 108.984375 -64.125 M108.984375 -64.125 C108.984375 -53.87576416725851, 108.984375 -43.62652833451702, 108.984375 -21.375 M108.984375 -64.125 C108.984375 -49.49783085440812, 108.984375 -34.87066170881625, 108.984375 -21.375 M108.984375 -21.375 C56.100554435769844 -21.375, 3.216733871539688 -21.375, -108.984375 -21.375 M108.984375 -21.375 C47.96569997135209 -21.375, -13.052975057295825 -21.375, -108.984375 -21.375 M-108.984375 -21.375 C-108.984375 -38.3582117919438, -108.984375 -55.341423583887604, -108.984375 -64.125 M-108.984375 -21.375 C-108.984375 -34.43527479216879, -108.984375 -47.49554958433758, -108.984375 -64.125" stroke="#b0a89f" stroke-width="1.3" fill="none" stroke-dasharray="0 0"></path></g><g style="" class="row-rect-even"><path d="M-108.984375 -21.375 L108.984375 -21.375 L108.984375 21.375 L-108.984375 21.375" stroke="none" stroke-width="0" fill="hsl(33.3333333333, 20.9302325581%, 84.137254902%)"></path><path d="M-108.984375 -21.375 C-26.91531770060847 -21.375, 55.15373959878306 -21.375, 108.984375 -21.375 M-108.984375 -21.375 C-51.03302660232558 -21.375, 6.918321795348845 -21.375, 108.984375 -21.375 M108.984375 -21.375 C108.984375 -9.000342740987339, 108.984375 3.3743145180253222, 108.984375 21.375 M108.984375 -21.375 C108.984375 -5.623424360445968, 108.984375 10.128151279108064, 108.984375 21.375 M108.984375 21.375 C45.00057522653989 21.375, -18.983224546920226 21.375, -108.984375 21.375 M108.984375 21.375 C27.79786527810309 21.375, -53.38864444379382 21.375, -108.984375 21.375 M-108.984375 21.375 C-108.984375 4.8958900640241865, -108.984375 -11.583219871951627, -108.984375 -21.375 M-108.984375 21.375 C-108.984375 6.329763813049471, -108.984375 -8.715472373901058, -108.984375 -21.375" stroke="#b0a89f" stroke-width="1.3" fill="none" stroke-dasharray="0 0"></path></g><g style="" class="row-rect-odd"><path d="M-108.984375 21.375 L108.984375 21.375 L108.984375 64.125 L-108.984375 64.125" stroke="none" stroke-width="0" fill="hsl(33.3333333333, 20.9302325581%, 100%)"></path><path d="M-108.984375 21.375 C-49.83338309917935 21.375, 9.317608801641299 21.375, 108.984375 21.375 M-108.984375 21.375 C-64.47721225075003 21.375, -19.97004950150007 21.375, 108.984375 21.375 M108.984375 21.375 C108.984375 35.83057632757273, 108.984375 50.286152655145465, 108.984375 64.125 M108.984375 21.375 C108.984375 32.148232191018444, 108.984375 42.92146438203689, 108.984375 64.125 M108.984375 64.125 C49.26576617422738 64.125, -10.45284265154524 64.125, -108.984375 64.125 M108.984375 64.125 C59.13011841645277 64.125, 9.275861832905534 64.125, -108.984375 64.125 M-108.984375 64.125 C-108.984375 50.49818339299586, -108.984375 36.871366785991725, -108.984375 21.375 M-108.984375 64.125 C-108.984375 55.10409012623367, -108.984375 46.08318025246734, -108.984375 21.375" stroke="#b0a89f" stroke-width="1.3" fill="none" stroke-dasharray="0 0"></path></g><g style="" class="row-rect-even"><path d="M-108.984375 64.125 L108.984375 64.125 L108.984375 106.875 L-108.984375 106.875" stroke="none" stroke-width="0" fill="hsl(33.3333333333, 20.9302325581%, 84.137254902%)"></path><path d="M-108.984375 64.125 C-53.55899778754573 64.125, 1.8663794249085441 64.125, 108.984375 64.125 M-108.984375 64.125 C-27.956444061310066 64.125, 53.07148687737987 64.125, 108.984375 64.125 M108.984375 64.125 C108.984375 74.10527965397095, 108.984375 84.08555930794192, 108.984375 106.875 M108.984375 64.125 C108.984375 75.1907248333192, 108.984375 86.2564496666384, 108.984375 106.875 M108.984375 106.875 C46.401060110838614 106.875, -16.182254778322772 106.875, -108.984375 106.875 M108.984375 106.875 C36.13417911123511 106.875, -36.716016777529774 106.875, -108.984375 106.875 M-108.984375 106.875 C-108.984375 98.20902578058606, -108.984375 89.54305156117212, -108.984375 64.125 M-108.984375 106.875 C-108.984375 96.64461025379848, -108.984375 86.41422050759695, -108.984375 64.125" stroke="#b0a89f" stroke-width="1.3" fill="none" stroke-dasharray="0 0"></path></g><g class="label name" transform="translate(-57.8671875, -97.5)" style=""><foreignObject width="115.734375" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 198px; text-align: start;"><span class="nodeLabel "><p>PLUGIN_NODE</p></span></div></foreignObject></g><g class="label attribute-type" transform="translate(-96.484375, -54.75)" style=""><foreignObject width="37.125" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 137px; text-align: start;"><span class="nodeLabel "><p>string</p></span></div></foreignObject></g><g class="label attribute-name" transform="translate(-34.359375, -54.75)" style=""><foreignObject width="12.546875" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 112px; text-align: start;"><span class="nodeLabel "><p>id</p></span></div></foreignObject></g><g class="label attribute-keys" transform="translate(75.5703125, -54.75)" style=""><foreignObject width="20.9140625" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 119px; text-align: start;"><span class="nodeLabel "><p>PK</p></span></div></foreignObject></g><g class="label attribute-comment" transform="translate(121.484375, -54.75)" style=""><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 100px; text-align: start;"><span class="nodeLabel "></span></div></foreignObject></g><g class="label attribute-type" transform="translate(-96.484375, -12)" style=""><foreignObject width="37.125" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 137px; text-align: start;"><span class="nodeLabel "><p>string</p></span></div></foreignObject></g><g class="label attribute-name" transform="translate(-34.359375, -12)" style=""><foreignObject width="27.21875" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 129px; text-align: start;"><span class="nodeLabel "><p>type</p></span></div></foreignObject></g><g class="label attribute-keys" transform="translate(75.5703125, -12)" style=""><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 100px; text-align: start;"><span class="nodeLabel "></span></div></foreignObject></g><g class="label attribute-comment" transform="translate(121.484375, -12)" style=""><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 100px; text-align: start;"><span class="nodeLabel "></span></div></foreignObject></g><g class="label attribute-type" transform="translate(-96.484375, 30.75)" style=""><foreignObject width="37.125" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 137px; text-align: start;"><span class="nodeLabel "><p>string</p></span></div></foreignObject></g><g class="label attribute-name" transform="translate(-34.359375, 30.75)" style=""><foreignObject width="81.5234375" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 180px; text-align: start;"><span class="nodeLabel "><p>raw_content</p></span></div></foreignObject></g><g class="label attribute-keys" transform="translate(75.5703125, 27.75)" style=""><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 100px; text-align: start;"><span class="nodeLabel "></span></div></foreignObject></g><g class="label attribute-comment" transform="translate(121.484375, 27.75)" style=""><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 100px; text-align: start;"><span class="nodeLabel "></span></div></foreignObject></g><g class="label attribute-type" transform="translate(-96.484375, 73.5)" style=""><foreignObject width="37.125" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 137px; text-align: start;"><span class="nodeLabel "><p>string</p></span></div></foreignObject></g><g class="label attribute-name" transform="translate(-34.359375, 73.5)" style=""><foreignObject width="84.9296875" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 185px; text-align: start;"><span class="nodeLabel "><p>document_id</p></span></div></foreignObject></g><g class="label attribute-keys" transform="translate(75.5703125, 70.5)" style=""><foreignObject width="20.9140625" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 118px; text-align: start;"><span class="nodeLabel "><p>FK</p></span></div></foreignObject></g><g class="label attribute-comment" transform="translate(121.484375, 70.5)" style=""><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 100px; text-align: start;"><span class="nodeLabel "></span></div></foreignObject></g><g class="divider"><path d="M-108.984375 -64.12505 L-108.984375 -64.12495 L108.984375 -64.12495 L108.984375 -64.12505" stroke="none" stroke-width="0" fill="#ddd5cb" fill-rule="evenodd"></path><path d="M-108.984375 -64.12505 C-108.984375 -64.12502919217253, -108.984375 -64.12500838434507, -108.984375 -64.12495 M-108.984375 -64.12505 C-108.984375 -64.12501561322148, -108.984375 -64.12498122644296, -108.984375 -64.12495 M-108.984375 -64.12495 C-29.840724953981677 -64.12495, 49.302925092036645 -64.12495, 108.984375 -64.12495 M-108.984375 -64.12495 C-52.88460327372114 -64.12495, 3.2151684525577195 -64.12495, 108.984375 -64.12495 M108.984375 -64.12495 C108.984375 -64.1249763363079, 108.984375 -64.12500267261579, 108.984375 -64.12505 M108.984375 -64.12495 C108.984375 -64.12498892284547, 108.984375 -64.12502784569094, 108.984375 -64.12505 M108.984375 -64.12505 C37.751048291090825 -64.12505, -33.48227841781835 -64.12505, -108.984375 -64.12505 M108.984375 -64.12505 C25.911517615577807 -64.12505, -57.161339768844385 -64.12505, -108.984375 -64.12505" stroke="#b0a89f" stroke-width="1.3" fill="none" stroke-dasharray="0 0"></path></g><g class="divider"><path d="M-46.859425 -64.125 L-46.859325 -64.125 L-46.859325 106.875 L-46.859425 106.875" stroke="none" stroke-width="0" fill="#ddd5cb" fill-rule="evenodd"></path><path d="M-46.859425 -64.125 C-46.8594008803801 -64.125, -46.85937676076019 -64.125, -46.859325 -64.125 M-46.859425 -64.125 C-46.85939051909141 -64.125, -46.859356038182824 -64.125, -46.859325 -64.125 M-46.859325 -64.125 C-46.859325 -1.9889476532630397, -46.859325 60.14710469347392, -46.859325 106.875 M-46.859325 -64.125 C-46.859325 -21.341352849240927, -46.859325 21.442294301518146, -46.859325 106.875 M-46.859325 106.875 C-46.859347370661844 106.875, -46.85936974132369 106.875, -46.859425 106.875 M-46.859325 106.875 C-46.85935519423996 106.875, -46.85938538847993 106.875, -46.859425 106.875 M-46.859425 106.875 C-46.859425 72.100472852179, -46.859425 37.325945704358006, -46.859425 -64.125 M-46.859425 106.875 C-46.859425 57.8533103371192, -46.859425 8.831620674238394, -46.859425 -64.125" stroke="#b0a89f" stroke-width="1.3" fill="none" stroke-dasharray="0 0"></path></g><g class="divider"><path d="M63.0702625 -64.125 L63.0703625 -64.125 L63.0703625 106.875 L63.0702625 106.875" stroke="none" stroke-width="0" fill="#ddd5cb" fill-rule="evenodd"></path><path d="M63.0702625 -64.125 C63.070285366704766 -64.125, 63.07030823340954 -64.125, 63.0703625 -64.125 M63.0702625 -64.125 C63.07030048681489 -64.125, 63.07033847362977 -64.125, 63.0703625 -64.125 M63.0703625 -64.125 C63.0703625 -15.733032844348742, 63.0703625 32.65893431130252, 63.0703625 106.875 M63.0703625 -64.125 C63.0703625 -28.86773112205983, 63.0703625 6.38953775588034, 63.0703625 106.875 M63.0703625 106.875 C63.07032826820037 106.875, 63.070294036400746 106.875, 63.0702625 106.875 M63.0703625 106.875 C63.070338886606024 106.875, 63.07031527321204 106.875, 63.0702625 106.875 M63.0702625 106.875 C63.0702625 67.82688695031615, 63.0702625 28.778773900632302, 63.0702625 -64.125 M63.0702625 106.875 C63.0702625 65.49836401536285, 63.0702625 24.121728030725706, 63.0702625 -64.125" stroke="#b0a89f" stroke-width="1.3" fill="none" stroke-dasharray="0 0"></path></g><g class="divider"><path d="M-108.984375 -64.12505 L-108.984375 -64.12495 L108.984375 -64.12495 L108.984375 -64.12505" stroke="none" stroke-width="0" fill="#ddd5cb" fill-rule="evenodd"></path><path d="M-108.984375 -64.12505 C-108.984375 -64.12502716644504, -108.984375 -64.12500433289007, -108.984375 -64.12495 M-108.984375 -64.12505 C-108.984375 -64.12502984178563, -108.984375 -64.12500968357126, -108.984375 -64.12495 M-108.984375 -64.12495 C-22.667670495899813 -64.12495, 63.649034008200374 -64.12495, 108.984375 -64.12495 M-108.984375 -64.12495 C-61.2033354157077 -64.12495, -13.422295831415397 -64.12495, 108.984375 -64.12495 M108.984375 -64.12495 C108.984375 -64.12497400976109, 108.984375 -64.1249980195222, 108.984375 -64.12505 M108.984375 -64.12495 C108.984375 -64.12497371555828, 108.984375 -64.12499743111657, 108.984375 -64.12505 M108.984375 -64.12505 C35.48227269572604 -64.12505, -38.01982960854792 -64.12505, -108.984375 -64.12505 M108.984375 -64.12505 C37.28393519352548 -64.12505, -34.41650461294904 -64.12505, -108.984375 -64.12505" stroke="#b0a89f" stroke-width="1.3" fill="none" stroke-dasharray="0 0"></path></g></g></g></g></g><defs><filter id="mermaid-5-drop-shadow" height="130%" width="130%"><feDropShadow dx="4" dy="4" stdDeviation="0" flood-opacity="0.06" flood-color="#000000"></feDropShadow></filter></defs><defs><filter id="mermaid-5-drop-shadow-small" height="150%" width="150%"><feDropShadow dx="2" dy="2" stdDeviation="0" flood-opacity="0.06" flood-color="#000000"></feDropShadow></filter></defs></svg></div></div><h3 id="2.6-甘特图(gantt-chart)">2.6 甘特图(Gantt Chart)</h3><div class="mermaid-block" data-mermaid="gantt
152
+ title ColaMD 扩展版开发计划
153
+ dateFormat YYYY-MM-DD
154
+
155
+ section 基础架构
156
+ 插件系统设计 :a1, 2026-01-01, 14d
157
+ 插件管理器实现 :a2, after a1, 10d
158
+
159
+ section Math 插件
160
+ KaTeX 集成 :b1, after a2, 7d
161
+ 行内/块级公式渲染 :b2, after b1, 10d
162
+ PNG 导出功能 :b3, after b2, 5d
163
+
164
+ section Mermaid 插件
165
+ Mermaid.js 集成 :c1, after a2, 7d
166
+ 多图表类型支持 :c2, after c1, 14d
167
+ 主题适配 :c3, after c2, 7d
168
+
169
+ section 测试与发布
170
+ 集成测试 :d1, after b3, 7d
171
+ 文档编写 :d2, after c3, 5d
172
+ 版本发布 :d3, after d1, 3d" contenteditable="false"><div class="mermaid-preview"><svg id="mermaid-6" width="100%" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 960 364" style="max-width: 960px;" role="graphics-document document" aria-roledescription="gantt"><style>#mermaid-6{font-family:"LXGW WenKai","Noto Serif SC","Source Han Serif SC","Songti SC",Georgia,serif;font-size:16px;fill:#3d3530;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-6 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-6 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-6 .error-icon{fill:#552222;}#mermaid-6 .error-text{fill:#552222;stroke:#552222;}#mermaid-6 .edge-thickness-normal{stroke-width:1px;}#mermaid-6 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-6 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-6 .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-6 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-6 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-6 .marker{fill:#b0a89f;stroke:#b0a89f;}#mermaid-6 .marker.cross{stroke:#b0a89f;}#mermaid-6 svg{font-family:"LXGW WenKai","Noto Serif SC","Source Han Serif SC","Songti SC",Georgia,serif;font-size:16px;}#mermaid-6 p{margin:0;}#mermaid-6 .mermaid-main-font{font-family:"LXGW WenKai","Noto Serif SC","Source Han Serif SC","Songti SC",Georgia,serif;}#mermaid-6 .exclude-range{fill:#eeeeee;}#mermaid-6 .section{stroke:none;opacity:0.2;}#mermaid-6 .section0{fill:rgba(102, 102, 255, 0.49);}#mermaid-6 .section2{fill:#fff400;}#mermaid-6 .section1,#mermaid-6 .section3{fill:white;opacity:0.2;}#mermaid-6 .sectionTitle0{fill:#3d3530;}#mermaid-6 .sectionTitle1{fill:#3d3530;}#mermaid-6 .sectionTitle2{fill:#3d3530;}#mermaid-6 .sectionTitle3{fill:#3d3530;}#mermaid-6 .sectionTitle{text-anchor:start;font-family:"LXGW WenKai","Noto Serif SC","Source Han Serif SC","Songti SC",Georgia,serif;}#mermaid-6 .grid .tick{stroke:lightgrey;opacity:0.8;shape-rendering:crispEdges;}#mermaid-6 .grid .tick text{font-family:"LXGW WenKai","Noto Serif SC","Source Han Serif SC","Songti SC",Georgia,serif;fill:#3d3530;}#mermaid-6 .grid path{stroke-width:0;}#mermaid-6 .today{fill:none;stroke:red;stroke-width:2px;}#mermaid-6 .task{stroke-width:2;}#mermaid-6 .taskText{text-anchor:middle;font-family:"LXGW WenKai","Noto Serif SC","Source Han Serif SC","Songti SC",Georgia,serif;}#mermaid-6 .taskTextOutsideRight{fill:black;text-anchor:start;font-family:"LXGW WenKai","Noto Serif SC","Source Han Serif SC","Songti SC",Georgia,serif;}#mermaid-6 .taskTextOutsideLeft{fill:black;text-anchor:end;}#mermaid-6 .task.clickable{cursor:pointer;}#mermaid-6 .taskText.clickable{cursor:pointer;fill:#003163!important;font-weight:bold;}#mermaid-6 .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163!important;font-weight:bold;}#mermaid-6 .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163!important;font-weight:bold;}#mermaid-6 .taskText0,#mermaid-6 .taskText1,#mermaid-6 .taskText2,#mermaid-6 .taskText3{fill:white;}#mermaid-6 .task0,#mermaid-6 .task1,#mermaid-6 .task2,#mermaid-6 .task3{fill:#8a90dd;stroke:#534fbc;}#mermaid-6 .taskTextOutside0,#mermaid-6 .taskTextOutside2{fill:black;}#mermaid-6 .taskTextOutside1,#mermaid-6 .taskTextOutside3{fill:black;}#mermaid-6 .active0,#mermaid-6 .active1,#mermaid-6 .active2,#mermaid-6 .active3{fill:#bfc7ff;stroke:#534fbc;}#mermaid-6 .activeText0,#mermaid-6 .activeText1,#mermaid-6 .activeText2,#mermaid-6 .activeText3{fill:black!important;}#mermaid-6 .done0,#mermaid-6 .done1,#mermaid-6 .done2,#mermaid-6 .done3{stroke:grey;fill:lightgrey;stroke-width:2;}#mermaid-6 .doneText0,#mermaid-6 .doneText1,#mermaid-6 .doneText2,#mermaid-6 .doneText3{fill:black!important;}#mermaid-6 .doneText0.taskTextOutsideLeft,#mermaid-6 .doneText0.taskTextOutsideRight,#mermaid-6 .doneText1.taskTextOutsideLeft,#mermaid-6 .doneText1.taskTextOutsideRight,#mermaid-6 .doneText2.taskTextOutsideLeft,#mermaid-6 .doneText2.taskTextOutsideRight,#mermaid-6 .doneText3.taskTextOutsideLeft,#mermaid-6 .doneText3.taskTextOutsideRight{fill:black!important;}#mermaid-6 .crit0,#mermaid-6 .crit1,#mermaid-6 .crit2,#mermaid-6 .crit3{stroke:#ff8888;fill:red;stroke-width:2;}#mermaid-6 .activeCrit0,#mermaid-6 .activeCrit1,#mermaid-6 .activeCrit2,#mermaid-6 .activeCrit3{stroke:#ff8888;fill:#bfc7ff;stroke-width:2;}#mermaid-6 .doneCrit0,#mermaid-6 .doneCrit1,#mermaid-6 .doneCrit2,#mermaid-6 .doneCrit3{stroke:#ff8888;fill:lightgrey;stroke-width:2;cursor:pointer;shape-rendering:crispEdges;}#mermaid-6 .milestone{transform:rotate(45deg) scale(0.8,0.8);}#mermaid-6 .milestoneText{font-style:italic;}#mermaid-6 .doneCritText0,#mermaid-6 .doneCritText1,#mermaid-6 .doneCritText2,#mermaid-6 .doneCritText3{fill:black!important;}#mermaid-6 .doneCritText0.taskTextOutsideLeft,#mermaid-6 .doneCritText0.taskTextOutsideRight,#mermaid-6 .doneCritText1.taskTextOutsideLeft,#mermaid-6 .doneCritText1.taskTextOutsideRight,#mermaid-6 .doneCritText2.taskTextOutsideLeft,#mermaid-6 .doneCritText2.taskTextOutsideRight,#mermaid-6 .doneCritText3.taskTextOutsideLeft,#mermaid-6 .doneCritText3.taskTextOutsideRight{fill:black!important;}#mermaid-6 .vert{stroke:navy;}#mermaid-6 .vertText{font-size:15px;text-anchor:middle;fill:navy!important;}#mermaid-6 .activeCritText0,#mermaid-6 .activeCritText1,#mermaid-6 .activeCritText2,#mermaid-6 .activeCritText3{fill:black!important;}#mermaid-6 .titleText{text-anchor:middle;font-size:18px;fill:#3d3530;font-family:"LXGW WenKai","Noto Serif SC","Source Han Serif SC","Songti SC",Georgia,serif;}#mermaid-6 .node .neo-node{stroke:#b0a89f;}#mermaid-6 [data-look="neo"].node rect,#mermaid-6 [data-look="neo"].cluster rect,#mermaid-6 [data-look="neo"].node polygon{stroke:#b0a89f;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-6 [data-look="neo"].node path{stroke:#b0a89f;stroke-width:1px;}#mermaid-6 [data-look="neo"].node .outer-path{filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-6 [data-look="neo"].node .neo-line path{stroke:#b0a89f;filter:none;}#mermaid-6 [data-look="neo"].node circle{stroke:#b0a89f;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-6 [data-look="neo"].node circle .state-start{fill:#000000;}#mermaid-6 [data-look="neo"].icon-shape .icon{fill:#b0a89f;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-6 [data-look="neo"].icon-shape .icon-neo path{stroke:#b0a89f;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-6 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}</style><g></g><g class="grid" transform="translate(75, 314)" fill="none" font-size="10" font-family="sans-serif" text-anchor="middle"><path class="domain" stroke="currentColor" d="M0,-279V0H810V-279"></path><g class="tick" opacity="1" transform="translate(43,0)"><line stroke="currentColor" y2="-279"></line><text fill="#000" y="3" dy="1em" stroke="none" font-size="10" style="text-anchor: middle;">2026-01-04</text></g><g class="tick" opacity="1" transform="translate(142,0)"><line stroke="currentColor" y2="-279"></line><text fill="#000" y="3" dy="1em" stroke="none" font-size="10" style="text-anchor: middle;">2026-01-11</text></g><g class="tick" opacity="1" transform="translate(242,0)"><line stroke="currentColor" y2="-279"></line><text fill="#000" y="3" dy="1em" stroke="none" font-size="10" style="text-anchor: middle;">2026-01-18</text></g><g class="tick" opacity="1" transform="translate(341,0)"><line stroke="currentColor" y2="-279"></line><text fill="#000" y="3" dy="1em" stroke="none" font-size="10" style="text-anchor: middle;">2026-01-25</text></g><g class="tick" opacity="1" transform="translate(441,0)"><line stroke="currentColor" y2="-279"></line><text fill="#000" y="3" dy="1em" stroke="none" font-size="10" style="text-anchor: middle;">2026-02-01</text></g><g class="tick" opacity="1" transform="translate(540,0)"><line stroke="currentColor" y2="-279"></line><text fill="#000" y="3" dy="1em" stroke="none" font-size="10" style="text-anchor: middle;">2026-02-08</text></g><g class="tick" opacity="1" transform="translate(639,0)"><line stroke="currentColor" y2="-279"></line><text fill="#000" y="3" dy="1em" stroke="none" font-size="10" style="text-anchor: middle;">2026-02-15</text></g><g class="tick" opacity="1" transform="translate(739,0)"><line stroke="currentColor" y2="-279"></line><text fill="#000" y="3" dy="1em" stroke="none" font-size="10" style="text-anchor: middle;">2026-02-22</text></g></g><g><rect x="0" y="48" width="922.5" height="24" class="section section0"></rect><rect x="0" y="72" width="922.5" height="24" class="section section0"></rect><rect x="0" y="96" width="922.5" height="24" class="section section1"></rect><rect x="0" y="168" width="922.5" height="24" class="section section2"></rect><rect x="0" y="120" width="922.5" height="24" class="section section1"></rect><rect x="0" y="192" width="922.5" height="24" class="section section2"></rect><rect x="0" y="144" width="922.5" height="24" class="section section1"></rect><rect x="0" y="216" width="922.5" height="24" class="section section2"></rect><rect x="0" y="240" width="922.5" height="24" class="section section3"></rect><rect x="0" y="264" width="922.5" height="24" class="section section3"></rect><rect x="0" y="288" width="922.5" height="24" class="section section3"></rect></g><g><rect id="mermaid-6-a1" rx="3" ry="3" x="75" y="50" width="199" height="20" transform-origin="174.5px 60px" class="task task0 "></rect><rect id="mermaid-6-a2" rx="3" ry="3" x="274" y="74" width="142" height="20" transform-origin="345px 84px" class="task task0 "></rect><rect id="mermaid-6-b1" rx="3" ry="3" x="416" y="98" width="100" height="20" transform-origin="466px 108px" class="task task1 "></rect><rect id="mermaid-6-c1" rx="3" ry="3" x="416" y="170" width="100" height="20" transform-origin="466px 180px" class="task task2 "></rect><rect id="mermaid-6-b2" rx="3" ry="3" x="516" y="122" width="142" height="20" transform-origin="587px 132px" class="task task1 "></rect><rect id="mermaid-6-c2" rx="3" ry="3" x="516" y="194" width="198" height="20" transform-origin="615px 204px" class="task task2 "></rect><rect id="mermaid-6-b3" rx="3" ry="3" x="658" y="146" width="71" height="20" transform-origin="693.5px 156px" class="task task1 "></rect><rect id="mermaid-6-c3" rx="3" ry="3" x="714" y="218" width="100" height="20" transform-origin="764px 228px" class="task task2 "></rect><rect id="mermaid-6-d1" rx="3" ry="3" x="729" y="242" width="99" height="20" transform-origin="778.5px 252px" class="task task3 "></rect><rect id="mermaid-6-d2" rx="3" ry="3" x="814" y="266" width="71" height="20" transform-origin="849.5px 276px" class="task task3 "></rect><rect id="mermaid-6-d3" rx="3" ry="3" x="828" y="290" width="43" height="20" transform-origin="849.5px 300px" class="task task3 "></rect><text id="mermaid-6-a1-text" font-size="11" x="174.5" y="63.5" text-height="20" class=" taskText taskText0 width-66">插件系统设计 </text><text id="mermaid-6-a2-text" font-size="11" x="345" y="87.5" text-height="20" class=" taskText taskText0 width-77">插件管理器实现 </text><text id="mermaid-6-b1-text" font-size="11" x="466" y="111.5" text-height="20" class=" taskText taskText1 width-57.6796875">KaTeX 集成 </text><text id="mermaid-6-c1-text" font-size="11" x="466" y="183.5" text-height="20" class=" taskText taskText2 width-74.4765625">Mermaid.js 集成 </text><text id="mermaid-6-b2-text" font-size="11" x="587" y="135.5" text-height="20" class=" taskText taskText1 width-93.5">行内/块级公式渲染 </text><text id="mermaid-6-c2-text" font-size="11" x="615" y="207.5" text-height="20" class=" taskText taskText2 width-77">多图表类型支持 </text><text id="mermaid-6-b3-text" font-size="11" x="693.5" y="159.5" text-height="20" class=" taskText taskText1 width-69.9609375">PNG 导出功能 </text><text id="mermaid-6-c3-text" font-size="11" x="764" y="231.5" text-height="20" class=" taskText taskText2 width-44">主题适配 </text><text id="mermaid-6-d1-text" font-size="11" x="778.5" y="255.5" text-height="20" class=" taskText taskText3 width-44">集成测试 </text><text id="mermaid-6-d2-text" font-size="11" x="849.5" y="279.5" text-height="20" class=" taskText taskText3 width-44">文档编写 </text><text id="mermaid-6-d3-text" font-size="11" x="876" y="303.5" text-height="20" class=" taskTextOutsideRight taskTextOutside3 width-44">版本发布 </text></g><g><text dy="0em" x="10" y="74" font-size="11" class="sectionTitle sectionTitle0"><tspan alignment-baseline="central" x="10">基础架构</tspan></text><text dy="0em" x="10" y="134" font-size="11" class="sectionTitle sectionTitle1"><tspan alignment-baseline="central" x="10">Math 插件</tspan></text><text dy="0em" x="10" y="206" font-size="11" class="sectionTitle sectionTitle2"><tspan alignment-baseline="central" x="10">Mermaid 插件</tspan></text><text dy="0em" x="10" y="278" font-size="11" class="sectionTitle sectionTitle3"><tspan alignment-baseline="central" x="10">测试与发布</tspan></text></g><g class="today"><line x1="2058" x2="2058" y1="25" y2="339" class="today"></line></g><text x="480" y="25" class="titleText">ColaMD 扩展版开发计划</text></svg></div></div><h3 id="2.7-饼图(pie-chart)">2.7 饼图(Pie Chart)</h3><div class="mermaid-block" data-mermaid="pie title ColaMD 用户操作系统分布
173
+ &quot;macOS&quot; : 45
174
+ &quot;Windows&quot; : 35
175
+ &quot;Linux&quot; : 15
176
+ &quot;其他&quot; : 5" contenteditable="false"><div class="mermaid-preview"><svg id="mermaid-7" width="100%" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 575.7518005371094 450" style="max-width: 575.7518005371094px;" role="graphics-document document" aria-roledescription="pie"><style>#mermaid-7{font-family:"LXGW WenKai","Noto Serif SC","Source Han Serif SC","Songti SC",Georgia,serif;font-size:16px;fill:#3d3530;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-7 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-7 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-7 .error-icon{fill:#552222;}#mermaid-7 .error-text{fill:#552222;stroke:#552222;}#mermaid-7 .edge-thickness-normal{stroke-width:1px;}#mermaid-7 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-7 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-7 .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-7 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-7 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-7 .marker{fill:#b0a89f;stroke:#b0a89f;}#mermaid-7 .marker.cross{stroke:#b0a89f;}#mermaid-7 svg{font-family:"LXGW WenKai","Noto Serif SC","Source Han Serif SC","Songti SC",Georgia,serif;font-size:16px;}#mermaid-7 p{margin:0;}#mermaid-7 .pieCircle{stroke:black;stroke-width:2px;opacity:0.7;}#mermaid-7 .pieOuterCircle{stroke:black;stroke-width:2px;fill:none;}#mermaid-7 .pieTitleText{text-anchor:middle;font-size:25px;fill:black;font-family:"LXGW WenKai","Noto Serif SC","Source Han Serif SC","Songti SC",Georgia,serif;}#mermaid-7 .slice{font-family:"LXGW WenKai","Noto Serif SC","Source Han Serif SC","Songti SC",Georgia,serif;fill:#333;font-size:17px;}#mermaid-7 .legend text{fill:black;font-family:"LXGW WenKai","Noto Serif SC","Source Han Serif SC","Songti SC",Georgia,serif;font-size:17px;}#mermaid-7 .node .neo-node{stroke:#b0a89f;}#mermaid-7 [data-look="neo"].node rect,#mermaid-7 [data-look="neo"].cluster rect,#mermaid-7 [data-look="neo"].node polygon{stroke:#b0a89f;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-7 [data-look="neo"].node path{stroke:#b0a89f;stroke-width:1px;}#mermaid-7 [data-look="neo"].node .outer-path{filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-7 [data-look="neo"].node .neo-line path{stroke:#b0a89f;filter:none;}#mermaid-7 [data-look="neo"].node circle{stroke:#b0a89f;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-7 [data-look="neo"].node circle .state-start{fill:#000000;}#mermaid-7 [data-look="neo"].icon-shape .icon{fill:#b0a89f;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-7 [data-look="neo"].icon-shape .icon-neo path{stroke:#b0a89f;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-7 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}</style><g></g><g transform="translate(225,225)"><circle cx="0" cy="0" r="186" class="pieOuterCircle"></circle><path d="M0,-185A185,185,0,0,1,57.168,175.945L0,0Z" fill="#ECECFF" class="pieCircle"></path><path d="M57.168,175.945A185,185,0,0,1,-175.945,-57.168L0,0Z" fill="#ffffde" class="pieCircle"></path><path d="M-175.945,-57.168A185,185,0,0,1,-57.168,-175.945L0,0Z" fill="hsl(80, 100%, 56.2745098039%)" class="pieCircle"></path><path d="M-57.168,-175.945A185,185,0,0,1,0,-185L0,0Z" fill="hsl(240, 100%, 86.2745098039%)" class="pieCircle"></path><text transform="translate(137.04175725757537,-21.705282024332003)" class="slice" style="text-anchor: middle;">45%</text><text transform="translate(-98.11106588963347,98.11106588963348)" class="slice" style="text-anchor: middle;">35%</text><text transform="translate(-98.1110658896335,-98.11106588963347)" class="slice" style="text-anchor: middle;">15%</text><text transform="translate(-21.705282024332057,-137.04175725757534)" class="slice" style="text-anchor: middle;">5%</text><text x="0" y="-200" class="pieTitleText">ColaMD 用户操作系统分布</text><g class="legend" transform="translate(216,-44)"><rect width="18" height="18" style="fill: rgb(236, 236, 255); stroke: rgb(236, 236, 255);"></rect><text x="22" y="14">macOS</text></g><g class="legend" transform="translate(216,-22)"><rect width="18" height="18" style="fill: rgb(255, 255, 222); stroke: rgb(255, 255, 222);"></rect><text x="22" y="14">Windows</text></g><g class="legend" transform="translate(216,0)"><rect width="18" height="18" style="fill: rgb(181, 255, 32); stroke: rgb(181, 255, 32);"></rect><text x="22" y="14">Linux</text></g><g class="legend" transform="translate(216,22)"><rect width="18" height="18" style="fill: rgb(185, 185, 255); stroke: rgb(185, 185, 255);"></rect><text x="22" y="14">其他</text></g></g></svg></div></div><h3 id="2.8-用户旅程图(user-journey)">2.8 用户旅程图(User Journey)</h3><div class="mermaid-block" data-mermaid="journey
177
+ title 用户使用 ColaMD 的工作流
178
+ section 打开文件
179
+ 启动应用: 5: 用户
180
+ 打开 .md: 5: 用户
181
+ section 编辑内容
182
+ 输入 Markdown: 4: 用户
183
+ 插入公式: 4: 用户, AI
184
+ 插入图表: 4: 用户, AI
185
+ section 查看效果
186
+ 实时渲染: 5: 用户
187
+ 切换模式: 4: 用户
188
+ 导出 PNG: 3: 用户" contenteditable="false"><div class="mermaid-preview"><svg id="mermaid-8" width="100%" xmlns="http://www.w3.org/2000/svg" style="max-width: 1900px;" viewBox="0 -25 1900 540" preserveAspectRatio="xMinYMin meet" height="565" role="graphics-document document" aria-roledescription="journey"><style>#mermaid-8{font-family:"LXGW WenKai","Noto Serif SC","Source Han Serif SC","Songti SC",Georgia,serif;font-size:16px;fill:#3d3530;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-8 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-8 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-8 .error-icon{fill:#552222;}#mermaid-8 .error-text{fill:#552222;stroke:#552222;}#mermaid-8 .edge-thickness-normal{stroke-width:1px;}#mermaid-8 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-8 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-8 .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-8 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-8 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-8 .marker{fill:#b0a89f;stroke:#b0a89f;}#mermaid-8 .marker.cross{stroke:#b0a89f;}#mermaid-8 svg{font-family:"LXGW WenKai","Noto Serif SC","Source Han Serif SC","Songti SC",Georgia,serif;font-size:16px;}#mermaid-8 p{margin:0;}#mermaid-8 .label{font-family:"LXGW WenKai","Noto Serif SC","Source Han Serif SC","Songti SC",Georgia,serif;color:#3d3530;}#mermaid-8 .mouth{stroke:#666;}#mermaid-8 line{stroke:#3d3530;}#mermaid-8 .legend{fill:#3d3530;font-family:"LXGW WenKai","Noto Serif SC","Source Han Serif SC","Songti SC",Georgia,serif;}#mermaid-8 .label text{fill:#333;}#mermaid-8 .label{color:#3d3530;}#mermaid-8 .face{fill:#FFF8DC;stroke:#999;}#mermaid-8 .node rect,#mermaid-8 .node circle,#mermaid-8 .node ellipse,#mermaid-8 .node polygon,#mermaid-8 .node path{fill:#ddd5cb;stroke:#b0a89f;stroke-width:1px;}#mermaid-8 .node .label{text-align:center;}#mermaid-8 .node.clickable{cursor:pointer;}#mermaid-8 .arrowheadPath{fill:#b0a89f;}#mermaid-8 .edgePath .path{stroke:#b0a89f;stroke-width:1.5px;}#mermaid-8 .flowchart-link{stroke:#b0a89f;fill:none;}#mermaid-8 .edgeLabel{background-color:#e8e2db;text-align:center;}#mermaid-8 .edgeLabel rect{opacity:0.5;}#mermaid-8 .cluster text{fill:#3d3530;}#mermaid-8 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"LXGW WenKai","Noto Serif SC","Source Han Serif SC","Songti SC",Georgia,serif;font-size:12px;background:#e8e2db;border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-8 .task-type-0,#mermaid-8 .section-type-0{fill:#ddd5cb;}#mermaid-8 .task-type-1,#mermaid-8 .section-type-1{fill:#e0d8cf;}#mermaid-8 .task-type-2,#mermaid-8 .section-type-2{fill:hsl(97.3333333333, 20.9302325581%, 83.137254902%);}#mermaid-8 .task-type-3,#mermaid-8 .section-type-3{fill:hsl(95.7647058824, 21.5189873418%, 84.5098039216%);}#mermaid-8 .task-type-4,#mermaid-8 .section-type-4{fill:hsl(-30.6666666667, 20.9302325581%, 83.137254902%);}#mermaid-8 .task-type-5,#mermaid-8 .section-type-5{fill:hsl(-32.2352941176, 21.5189873418%, 84.5098039216%);}#mermaid-8 .task-type-6,#mermaid-8 .section-type-6{fill:hsl(161.3333333333, 20.9302325581%, 83.137254902%);}#mermaid-8 .task-type-7,#mermaid-8 .section-type-7{fill:hsl(159.7647058824, 21.5189873418%, 84.5098039216%);}#mermaid-8 .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-8 .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-8 .node .neo-node{stroke:#b0a89f;}#mermaid-8 [data-look="neo"].node rect,#mermaid-8 [data-look="neo"].cluster rect,#mermaid-8 [data-look="neo"].node polygon{stroke:#b0a89f;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-8 [data-look="neo"].node path{stroke:#b0a89f;stroke-width:1px;}#mermaid-8 [data-look="neo"].node .outer-path{filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-8 [data-look="neo"].node .neo-line path{stroke:#b0a89f;filter:none;}#mermaid-8 [data-look="neo"].node circle{stroke:#b0a89f;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-8 [data-look="neo"].node circle .state-start{fill:#000000;}#mermaid-8 [data-look="neo"].icon-shape .icon{fill:#b0a89f;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-8 [data-look="neo"].icon-shape .icon-neo path{stroke:#b0a89f;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-8 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}</style><g></g><defs><marker id="mermaid-8-arrowhead" refX="5" refY="2" markerWidth="6" markerHeight="4" orient="auto"><path d="M 0,0 V 4 L6,2 Z"></path></marker></defs><circle cx="20" cy="60" class="actor-0" fill="#8FBC8F" stroke="#000" r="7"></circle><text x="40" y="67" class="legend"><tspan x="50">AI</tspan></text><circle cx="20" cy="80" class="actor-1" fill="#7CFC00" stroke="#000" r="7"></circle><text x="40" y="87" class="legend"><tspan x="50">用户</tspan></text><g><rect x="150" y="50" fill="#191970" stroke="#666" width="350" height="50" rx="3" ry="3" class="journey-section section-type-0"></rect><switch><foreignObject x="150" y="50" width="350" height="50" position="fixed"><div class="journey-section section-type-0" xmlns="http://www.w3.org/1999/xhtml" style="display: table; height: 100%; width: 100%;"><div class="label" style="display: table-cell; text-align: center; vertical-align: middle;">打开文件</div></div></foreignObject><text x="325" y="75" dominant-baseline="central" alignment-baseline="central" class="journey-section section-type-0" style="text-anchor: middle; font-size: 14px; font-family: &quot;Open Sans&quot;, sans-serif;"><tspan x="325" dy="0">打开文件</tspan></text></switch></g><g><line id="mermaid-8-task0" x1="225" y1="110" x2="225" y2="450" class="task-line" stroke-width="1px" stroke-dasharray="4 2" stroke="#666"></line><circle cx="225" cy="300" class="face" r="15" stroke-width="2" overflow="visible"></circle><g><circle cx="220" cy="295" r="1.5" stroke-width="2" fill="#666" stroke="#666"></circle><circle cx="230" cy="295" r="1.5" stroke-width="2" fill="#666" stroke="#666"></circle><path class="mouth" d="M7.5,0A7.5,7.5,0,1,1,-7.5,0L-6.818,0A6.818,6.818,0,1,0,6.818,0Z" transform="translate(225,302)"></path></g><rect x="150" y="110" fill="#191970" stroke="#666" width="150" height="50" rx="3" ry="3" class="task task-type-0"></rect><circle cx="164" cy="110" class="actor-1" fill="#7CFC00" stroke="#000" r="7"><title>用户</title></circle><switch><foreignObject x="150" y="110" width="150" height="50" position="fixed"><div class="task" xmlns="http://www.w3.org/1999/xhtml" style="display: table; height: 100%; width: 100%;"><div class="label" style="display: table-cell; text-align: center; vertical-align: middle;">启动应用</div></div></foreignObject><text x="225" y="135" dominant-baseline="central" alignment-baseline="central" class="task" style="text-anchor: middle; font-size: 14px; font-family: &quot;Open Sans&quot;, sans-serif;"><tspan x="225" dy="0">启动应用</tspan></text></switch></g><g><line id="mermaid-8-task1" x1="425" y1="110" x2="425" y2="450" class="task-line" stroke-width="1px" stroke-dasharray="4 2" stroke="#666"></line><circle cx="425" cy="300" class="face" r="15" stroke-width="2" overflow="visible"></circle><g><circle cx="420" cy="295" r="1.5" stroke-width="2" fill="#666" stroke="#666"></circle><circle cx="430" cy="295" r="1.5" stroke-width="2" fill="#666" stroke="#666"></circle><path class="mouth" d="M7.5,0A7.5,7.5,0,1,1,-7.5,0L-6.818,0A6.818,6.818,0,1,0,6.818,0Z" transform="translate(425,302)"></path></g><rect x="350" y="110" fill="#191970" stroke="#666" width="150" height="50" rx="3" ry="3" class="task task-type-0"></rect><circle cx="364" cy="110" class="actor-1" fill="#7CFC00" stroke="#000" r="7"><title>用户</title></circle><switch><foreignObject x="350" y="110" width="150" height="50" position="fixed"><div class="task" xmlns="http://www.w3.org/1999/xhtml" style="display: table; height: 100%; width: 100%;"><div class="label" style="display: table-cell; text-align: center; vertical-align: middle;">打开 .md</div></div></foreignObject><text x="425" y="135" dominant-baseline="central" alignment-baseline="central" class="task" style="text-anchor: middle; font-size: 14px; font-family: &quot;Open Sans&quot;, sans-serif;"><tspan x="425" dy="0">打开 .md</tspan></text></switch></g><g><rect x="550" y="50" fill="#8B008B" stroke="#666" width="550" height="50" rx="3" ry="3" class="journey-section section-type-1"></rect><switch><foreignObject x="550" y="50" width="550" height="50" position="fixed"><div class="journey-section section-type-1" xmlns="http://www.w3.org/1999/xhtml" style="display: table; height: 100%; width: 100%;"><div class="label" style="display: table-cell; text-align: center; vertical-align: middle;">编辑内容</div></div></foreignObject><text x="825" y="75" dominant-baseline="central" alignment-baseline="central" class="journey-section section-type-1" style="text-anchor: middle; font-size: 14px; font-family: &quot;Open Sans&quot;, sans-serif;"><tspan x="825" dy="0">编辑内容</tspan></text></switch></g><g><line id="mermaid-8-task2" x1="625" y1="110" x2="625" y2="450" class="task-line" stroke-width="1px" stroke-dasharray="4 2" stroke="#666"></line><circle cx="625" cy="330" class="face" r="15" stroke-width="2" overflow="visible"></circle><g><circle cx="620" cy="325" r="1.5" stroke-width="2" fill="#666" stroke="#666"></circle><circle cx="630" cy="325" r="1.5" stroke-width="2" fill="#666" stroke="#666"></circle><path class="mouth" d="M7.5,0A7.5,7.5,0,1,1,-7.5,0L-6.818,0A6.818,6.818,0,1,0,6.818,0Z" transform="translate(625,332)"></path></g><rect x="550" y="110" fill="#8B008B" stroke="#666" width="150" height="50" rx="3" ry="3" class="task task-type-1"></rect><circle cx="564" cy="110" class="actor-1" fill="#7CFC00" stroke="#000" r="7"><title>用户</title></circle><switch><foreignObject x="550" y="110" width="150" height="50" position="fixed"><div class="task" xmlns="http://www.w3.org/1999/xhtml" style="display: table; height: 100%; width: 100%;"><div class="label" style="display: table-cell; text-align: center; vertical-align: middle;">输入 Markdown</div></div></foreignObject><text x="625" y="135" dominant-baseline="central" alignment-baseline="central" class="task" style="text-anchor: middle; font-size: 14px; font-family: &quot;Open Sans&quot;, sans-serif;"><tspan x="625" dy="0">输入 Markdown</tspan></text></switch></g><g><line id="mermaid-8-task3" x1="825" y1="110" x2="825" y2="450" class="task-line" stroke-width="1px" stroke-dasharray="4 2" stroke="#666"></line><circle cx="825" cy="330" class="face" r="15" stroke-width="2" overflow="visible"></circle><g><circle cx="820" cy="325" r="1.5" stroke-width="2" fill="#666" stroke="#666"></circle><circle cx="830" cy="325" r="1.5" stroke-width="2" fill="#666" stroke="#666"></circle><path class="mouth" d="M7.5,0A7.5,7.5,0,1,1,-7.5,0L-6.818,0A6.818,6.818,0,1,0,6.818,0Z" transform="translate(825,332)"></path></g><rect x="750" y="110" fill="#8B008B" stroke="#666" width="150" height="50" rx="3" ry="3" class="task task-type-1"></rect><circle cx="764" cy="110" class="actor-1" fill="#7CFC00" stroke="#000" r="7"><title>用户</title></circle><circle cx="774" cy="110" class="actor-0" fill="#8FBC8F" stroke="#000" r="7"><title>AI</title></circle><switch><foreignObject x="750" y="110" width="150" height="50" position="fixed"><div class="task" xmlns="http://www.w3.org/1999/xhtml" style="display: table; height: 100%; width: 100%;"><div class="label" style="display: table-cell; text-align: center; vertical-align: middle;">插入公式</div></div></foreignObject><text x="825" y="135" dominant-baseline="central" alignment-baseline="central" class="task" style="text-anchor: middle; font-size: 14px; font-family: &quot;Open Sans&quot;, sans-serif;"><tspan x="825" dy="0">插入公式</tspan></text></switch></g><g><line id="mermaid-8-task4" x1="1025" y1="110" x2="1025" y2="450" class="task-line" stroke-width="1px" stroke-dasharray="4 2" stroke="#666"></line><circle cx="1025" cy="330" class="face" r="15" stroke-width="2" overflow="visible"></circle><g><circle cx="1020" cy="325" r="1.5" stroke-width="2" fill="#666" stroke="#666"></circle><circle cx="1030" cy="325" r="1.5" stroke-width="2" fill="#666" stroke="#666"></circle><path class="mouth" d="M7.5,0A7.5,7.5,0,1,1,-7.5,0L-6.818,0A6.818,6.818,0,1,0,6.818,0Z" transform="translate(1025,332)"></path></g><rect x="950" y="110" fill="#8B008B" stroke="#666" width="150" height="50" rx="3" ry="3" class="task task-type-1"></rect><circle cx="964" cy="110" class="actor-1" fill="#7CFC00" stroke="#000" r="7"><title>用户</title></circle><circle cx="974" cy="110" class="actor-0" fill="#8FBC8F" stroke="#000" r="7"><title>AI</title></circle><switch><foreignObject x="950" y="110" width="150" height="50" position="fixed"><div class="task" xmlns="http://www.w3.org/1999/xhtml" style="display: table; height: 100%; width: 100%;"><div class="label" style="display: table-cell; text-align: center; vertical-align: middle;">插入图表</div></div></foreignObject><text x="1025" y="135" dominant-baseline="central" alignment-baseline="central" class="task" style="text-anchor: middle; font-size: 14px; font-family: &quot;Open Sans&quot;, sans-serif;"><tspan x="1025" dy="0">插入图表</tspan></text></switch></g><g><rect x="1150" y="50" fill="#4B0082" stroke="#666" width="550" height="50" rx="3" ry="3" class="journey-section section-type-2"></rect><switch><foreignObject x="1150" y="50" width="550" height="50" position="fixed"><div class="journey-section section-type-2" xmlns="http://www.w3.org/1999/xhtml" style="display: table; height: 100%; width: 100%;"><div class="label" style="display: table-cell; text-align: center; vertical-align: middle;">查看效果</div></div></foreignObject><text x="1425" y="75" dominant-baseline="central" alignment-baseline="central" class="journey-section section-type-2" style="text-anchor: middle; font-size: 14px; font-family: &quot;Open Sans&quot;, sans-serif;"><tspan x="1425" dy="0">查看效果</tspan></text></switch></g><g><line id="mermaid-8-task5" x1="1225" y1="110" x2="1225" y2="450" class="task-line" stroke-width="1px" stroke-dasharray="4 2" stroke="#666"></line><circle cx="1225" cy="300" class="face" r="15" stroke-width="2" overflow="visible"></circle><g><circle cx="1220" cy="295" r="1.5" stroke-width="2" fill="#666" stroke="#666"></circle><circle cx="1230" cy="295" r="1.5" stroke-width="2" fill="#666" stroke="#666"></circle><path class="mouth" d="M7.5,0A7.5,7.5,0,1,1,-7.5,0L-6.818,0A6.818,6.818,0,1,0,6.818,0Z" transform="translate(1225,302)"></path></g><rect x="1150" y="110" fill="#4B0082" stroke="#666" width="150" height="50" rx="3" ry="3" class="task task-type-2"></rect><circle cx="1164" cy="110" class="actor-1" fill="#7CFC00" stroke="#000" r="7"><title>用户</title></circle><switch><foreignObject x="1150" y="110" width="150" height="50" position="fixed"><div class="task" xmlns="http://www.w3.org/1999/xhtml" style="display: table; height: 100%; width: 100%;"><div class="label" style="display: table-cell; text-align: center; vertical-align: middle;">实时渲染</div></div></foreignObject><text x="1225" y="135" dominant-baseline="central" alignment-baseline="central" class="task" style="text-anchor: middle; font-size: 14px; font-family: &quot;Open Sans&quot;, sans-serif;"><tspan x="1225" dy="0">实时渲染</tspan></text></switch></g><g><line id="mermaid-8-task6" x1="1425" y1="110" x2="1425" y2="450" class="task-line" stroke-width="1px" stroke-dasharray="4 2" stroke="#666"></line><circle cx="1425" cy="330" class="face" r="15" stroke-width="2" overflow="visible"></circle><g><circle cx="1420" cy="325" r="1.5" stroke-width="2" fill="#666" stroke="#666"></circle><circle cx="1430" cy="325" r="1.5" stroke-width="2" fill="#666" stroke="#666"></circle><path class="mouth" d="M7.5,0A7.5,7.5,0,1,1,-7.5,0L-6.818,0A6.818,6.818,0,1,0,6.818,0Z" transform="translate(1425,332)"></path></g><rect x="1350" y="110" fill="#4B0082" stroke="#666" width="150" height="50" rx="3" ry="3" class="task task-type-2"></rect><circle cx="1364" cy="110" class="actor-1" fill="#7CFC00" stroke="#000" r="7"><title>用户</title></circle><switch><foreignObject x="1350" y="110" width="150" height="50" position="fixed"><div class="task" xmlns="http://www.w3.org/1999/xhtml" style="display: table; height: 100%; width: 100%;"><div class="label" style="display: table-cell; text-align: center; vertical-align: middle;">切换模式</div></div></foreignObject><text x="1425" y="135" dominant-baseline="central" alignment-baseline="central" class="task" style="text-anchor: middle; font-size: 14px; font-family: &quot;Open Sans&quot;, sans-serif;"><tspan x="1425" dy="0">切换模式</tspan></text></switch></g><g><line id="mermaid-8-task7" x1="1625" y1="110" x2="1625" y2="450" class="task-line" stroke-width="1px" stroke-dasharray="4 2" stroke="#666"></line><circle cx="1625" cy="360" class="face" r="15" stroke-width="2" overflow="visible"></circle><g><circle cx="1620" cy="355" r="1.5" stroke-width="2" fill="#666" stroke="#666"></circle><circle cx="1630" cy="355" r="1.5" stroke-width="2" fill="#666" stroke="#666"></circle><line class="mouth" stroke="#666" x1="1620" y1="367" x2="1630" y2="367" stroke-width="1px"></line></g><rect x="1550" y="110" fill="#4B0082" stroke="#666" width="150" height="50" rx="3" ry="3" class="task task-type-2"></rect><circle cx="1564" cy="110" class="actor-1" fill="#7CFC00" stroke="#000" r="7"><title>用户</title></circle><switch><foreignObject x="1550" y="110" width="150" height="50" position="fixed"><div class="task" xmlns="http://www.w3.org/1999/xhtml" style="display: table; height: 100%; width: 100%;"><div class="label" style="display: table-cell; text-align: center; vertical-align: middle;">导出 PNG</div></div></foreignObject><text x="1625" y="135" dominant-baseline="central" alignment-baseline="central" class="task" style="text-anchor: middle; font-size: 14px; font-family: &quot;Open Sans&quot;, sans-serif;"><tspan x="1625" dy="0">导出 PNG</tspan></text></switch></g><text x="150" font-size="4ex" font-weight="bold" y="25" fill="" font-family="&quot;trebuchet ms&quot;, verdana, arial, sans-serif">用户使用 ColaMD 的工作流</text><line x1="150" y1="200" x2="1746" y2="200" stroke-width="4" stroke="black" marker-end="url(#mermaid-8-arrowhead)"></line></svg></div></div><h3 id="2.9-git-图(git-graph)">2.9 Git 图(Git Graph)</h3><div class="mermaid-block" data-mermaid="gitGraph
189
+ commit id: &quot;初始提交&quot;
190
+ branch develop
191
+ checkout develop
192
+ commit id: &quot;添加 Math 插件&quot;
193
+ commit id: &quot;添加 Mermaid 插件&quot;
194
+ checkout main
195
+ merge develop id: &quot;合并插件系统&quot; tag: &quot;v2.0.0&quot;
196
+ branch hotfix
197
+ checkout hotfix
198
+ commit id: &quot;修复渲染 bug&quot;
199
+ checkout main
200
+ merge hotfix id: &quot;应用热修复&quot; tag: &quot;v2.0.1&quot;
201
+ checkout develop
202
+ commit id: &quot;新增主题适配&quot;" contenteditable="false"><div class="mermaid-preview"><svg id="mermaid-9" width="100%" xmlns="http://www.w3.org/2000/svg" style="max-width: 469.421875px;" viewBox="-111.421875 -38.20000076293945 469.421875 290.7559509277344" role="graphics-document document" aria-roledescription="gitGraph"><style>#mermaid-9{font-family:"LXGW WenKai","Noto Serif SC","Source Han Serif SC","Songti SC",Georgia,serif;font-size:16px;fill:#3d3530;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-9 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-9 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-9 .error-icon{fill:#552222;}#mermaid-9 .error-text{fill:#552222;stroke:#552222;}#mermaid-9 .edge-thickness-normal{stroke-width:1px;}#mermaid-9 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-9 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-9 .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-9 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-9 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-9 .marker{fill:#b0a89f;stroke:#b0a89f;}#mermaid-9 .marker.cross{stroke:#b0a89f;}#mermaid-9 svg{font-family:"LXGW WenKai","Noto Serif SC","Source Han Serif SC","Songti SC",Georgia,serif;font-size:16px;}#mermaid-9 p{margin:0;}#mermaid-9 .commit-id,#mermaid-9 .commit-msg,#mermaid-9 .branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms',verdana,arial,sans-serif;font-family:var(--mermaid-font-family);}#mermaid-9 .branch-label0{fill:#ffffff;}#mermaid-9 .commit0{stroke:hsl(240, 100%, 96.2745098039%);fill:hsl(240, 100%, 96.2745098039%);}#mermaid-9 .commit-highlight0{stroke:hsl(60, 100%, 3.7254901961%);fill:hsl(60, 100%, 3.7254901961%);}#mermaid-9 .label0{fill:hsl(240, 100%, 96.2745098039%);}#mermaid-9 .arrow0{stroke:hsl(240, 100%, 96.2745098039%);}#mermaid-9 .branch-label1{fill:black;}#mermaid-9 .commit1{stroke:hsl(60, 100%, 93.5294117647%);fill:hsl(60, 100%, 93.5294117647%);}#mermaid-9 .commit-highlight1{stroke:rgb(0, 0, 160.5);fill:rgb(0, 0, 160.5);}#mermaid-9 .label1{fill:hsl(60, 100%, 93.5294117647%);}#mermaid-9 .arrow1{stroke:hsl(60, 100%, 93.5294117647%);}#mermaid-9 .branch-label2{fill:black;}#mermaid-9 .commit2{stroke:hsl(80, 100%, 96.2745098039%);fill:hsl(80, 100%, 96.2745098039%);}#mermaid-9 .commit-highlight2{stroke:rgb(48.8333333334, 0, 146.5000000001);fill:rgb(48.8333333334, 0, 146.5000000001);}#mermaid-9 .label2{fill:hsl(80, 100%, 96.2745098039%);}#mermaid-9 .arrow2{stroke:hsl(80, 100%, 96.2745098039%);}#mermaid-9 .branch-label3{fill:#ffffff;}#mermaid-9 .commit3{stroke:hsl(210, 100%, 96.2745098039%);fill:hsl(210, 100%, 96.2745098039%);}#mermaid-9 .commit-highlight3{stroke:rgb(146.5000000001, 73.2500000001, 0);fill:rgb(146.5000000001, 73.2500000001, 0);}#mermaid-9 .label3{fill:hsl(210, 100%, 96.2745098039%);}#mermaid-9 .arrow3{stroke:hsl(210, 100%, 96.2745098039%);}#mermaid-9 .branch-label4{fill:black;}#mermaid-9 .commit4{stroke:hsl(180, 100%, 96.2745098039%);fill:hsl(180, 100%, 96.2745098039%);}#mermaid-9 .commit-highlight4{stroke:rgb(146.5000000001, 0, 0);fill:rgb(146.5000000001, 0, 0);}#mermaid-9 .label4{fill:hsl(180, 100%, 96.2745098039%);}#mermaid-9 .arrow4{stroke:hsl(180, 100%, 96.2745098039%);}#mermaid-9 .branch-label5{fill:black;}#mermaid-9 .commit5{stroke:hsl(150, 100%, 96.2745098039%);fill:hsl(150, 100%, 96.2745098039%);}#mermaid-9 .commit-highlight5{stroke:rgb(146.5000000001, 0, 73.2500000001);fill:rgb(146.5000000001, 0, 73.2500000001);}#mermaid-9 .label5{fill:hsl(150, 100%, 96.2745098039%);}#mermaid-9 .arrow5{stroke:hsl(150, 100%, 96.2745098039%);}#mermaid-9 .branch-label6{fill:black;}#mermaid-9 .commit6{stroke:hsl(300, 100%, 96.2745098039%);fill:hsl(300, 100%, 96.2745098039%);}#mermaid-9 .commit-highlight6{stroke:rgb(0, 146.5000000001, 0);fill:rgb(0, 146.5000000001, 0);}#mermaid-9 .label6{fill:hsl(300, 100%, 96.2745098039%);}#mermaid-9 .arrow6{stroke:hsl(300, 100%, 96.2745098039%);}#mermaid-9 .branch-label7{fill:black;}#mermaid-9 .commit7{stroke:hsl(0, 100%, 96.2745098039%);fill:hsl(0, 100%, 96.2745098039%);}#mermaid-9 .commit-highlight7{stroke:rgb(0, 146.5000000001, 146.5000000001);fill:rgb(0, 146.5000000001, 146.5000000001);}#mermaid-9 .label7{fill:hsl(0, 100%, 96.2745098039%);}#mermaid-9 .arrow7{stroke:hsl(0, 100%, 96.2745098039%);}#mermaid-9 .branch-label8{fill:#ffffff;}#mermaid-9 .commit8{stroke:hsl(240, 100%, 96.2745098039%);fill:hsl(240, 100%, 96.2745098039%);}#mermaid-9 .commit-highlight8{stroke:hsl(60, 100%, 3.7254901961%);fill:hsl(60, 100%, 3.7254901961%);}#mermaid-9 .label8{fill:hsl(240, 100%, 96.2745098039%);}#mermaid-9 .arrow8{stroke:hsl(240, 100%, 96.2745098039%);}#mermaid-9 .branch-label9{fill:black;}#mermaid-9 .commit9{stroke:hsl(60, 100%, 93.5294117647%);fill:hsl(60, 100%, 93.5294117647%);}#mermaid-9 .commit-highlight9{stroke:rgb(0, 0, 160.5);fill:rgb(0, 0, 160.5);}#mermaid-9 .label9{fill:hsl(60, 100%, 93.5294117647%);}#mermaid-9 .arrow9{stroke:hsl(60, 100%, 93.5294117647%);}#mermaid-9 .branch-label10{fill:black;}#mermaid-9 .commit10{stroke:hsl(80, 100%, 96.2745098039%);fill:hsl(80, 100%, 96.2745098039%);}#mermaid-9 .commit-highlight10{stroke:rgb(48.8333333334, 0, 146.5000000001);fill:rgb(48.8333333334, 0, 146.5000000001);}#mermaid-9 .label10{fill:hsl(80, 100%, 96.2745098039%);}#mermaid-9 .arrow10{stroke:hsl(80, 100%, 96.2745098039%);}#mermaid-9 .branch-label11{fill:#ffffff;}#mermaid-9 .commit11{stroke:hsl(210, 100%, 96.2745098039%);fill:hsl(210, 100%, 96.2745098039%);}#mermaid-9 .commit-highlight11{stroke:rgb(146.5000000001, 73.2500000001, 0);fill:rgb(146.5000000001, 73.2500000001, 0);}#mermaid-9 .label11{fill:hsl(210, 100%, 96.2745098039%);}#mermaid-9 .arrow11{stroke:hsl(210, 100%, 96.2745098039%);}#mermaid-9 .branch{stroke-width:1;stroke:#b0a89f;stroke-dasharray:2;}#mermaid-9 .commit-label{font-size:10px;fill:#000021;}#mermaid-9 .commit-label-bkg{font-size:10px;fill:#ffffde;opacity:0.5;}#mermaid-9 .tag-label{font-size:10px;fill:#131300;}#mermaid-9 .tag-label-bkg{fill:#ECECFF;stroke:#b0a89f;}#mermaid-9 .tag-hole{fill:#3d3530;}#mermaid-9 .commit-merge{stroke:#ddd5cb;fill:#ddd5cb;}#mermaid-9 .commit-reverse{stroke:#ddd5cb;fill:#ddd5cb;stroke-width:3;}#mermaid-9 .commit-highlight-inner{stroke:#ddd5cb;fill:#ddd5cb;}#mermaid-9 .arrow{stroke-width:8;stroke-linecap:round;fill:none;}#mermaid-9 .gitTitleText{text-anchor:middle;font-size:18px;fill:#3d3530;}#mermaid-9 .node .neo-node{stroke:#b0a89f;}#mermaid-9 [data-look="neo"].node rect,#mermaid-9 [data-look="neo"].cluster rect,#mermaid-9 [data-look="neo"].node polygon{stroke:#b0a89f;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-9 [data-look="neo"].node path{stroke:#b0a89f;stroke-width:1px;}#mermaid-9 [data-look="neo"].node .outer-path{filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-9 [data-look="neo"].node .neo-line path{stroke:#b0a89f;filter:none;}#mermaid-9 [data-look="neo"].node circle{stroke:#b0a89f;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-9 [data-look="neo"].node circle .state-start{fill:#000000;}#mermaid-9 [data-look="neo"].icon-shape .icon{fill:#b0a89f;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-9 [data-look="neo"].icon-shape .icon-neo path{stroke:#b0a89f;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-9 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}</style><g></g><g class="commit-bullets"></g><g class="commit-labels"></g><g><line x1="0" y1="-2" x2="350" y2="-2" class="branch branch0"></line><rect class="branchLabelBkg label0" style="" rx="4" ry="4" x="-67.4609375" y="-1.25" width="51.4609375" height="26.5" transform="translate(-19, -14)"></rect><g class="branchLabel"><g class="label branch-label0" transform="translate(-77.4609375, -15.25)"><text><tspan xml:space="preserve" dy="1em" x="0" class="row">main</tspan></text></g></g><line x1="0" y1="88" x2="350" y2="88" class="branch branch1"></line><rect class="branchLabelBkg label1" style="" rx="4" ry="4" x="-84.421875" y="-1.25" width="68.421875" height="26.5" transform="translate(-19, 76)"></rect><g class="branchLabel"><g class="label branch-label1" transform="translate(-94.421875, 74.75)"><text><tspan xml:space="preserve" dy="1em" x="0" class="row">develop</tspan></text></g></g><line x1="0" y1="178" x2="350" y2="178" class="branch branch2"></line><rect class="branchLabelBkg label2" style="" rx="4" ry="4" x="-72.0234375" y="-1.25" width="56.0234375" height="26.5" transform="translate(-19, 166)"></rect><g class="branchLabel"><g class="label branch-label2" transform="translate(-82.0234375, 164.75)"><text><tspan xml:space="preserve" dy="1em" x="0" class="row">hotfix</tspan></text></g></g></g><g class="commit-arrows"><path d="M 10 -2 L 10 68 A 20 20, 0, 0, 0, 30 88 L 60 88" class="arrow arrow1"></path><path d="M 60 88 L 110 88" class="arrow arrow1"></path><path d="M 10 -2 L 160 -2" class="arrow arrow0"></path><path d="M 110 88 L 140 88 A 20 20, 0, 0, 0, 160 68 L 160 -2" class="arrow arrow1"></path><path d="M 160 -2 L 160 158 A 20 20, 0, 0, 0, 180 178 L 210 178" class="arrow arrow2"></path><path d="M 160 -2 L 260 -2" class="arrow arrow0"></path><path d="M 210 178 L 240 178 A 20 20, 0, 0, 0, 260 158 L 260 -2" class="arrow arrow2"></path><path d="M 110 88 L 310 88" class="arrow arrow1"></path></g><g class="commit-bullets"><circle cx="10" cy="-2" r="10" class="commit 初始提交 commit0"></circle><circle cx="60" cy="88" r="10" class="commit 添加 Math 插件 commit1"></circle><circle cx="110" cy="88" r="10" class="commit 添加 Mermaid 插件 commit1"></circle><circle cx="160" cy="-2" r="10" class="commit 合并插件系统 commit0"></circle><circle cx="160" cy="-2" r="6" class="commit commit-merge 合并插件系统 commit0"></circle><circle cx="210" cy="178" r="10" class="commit 修复渲染 bug commit2"></circle><circle cx="260" cy="-2" r="10" class="commit 应用热修复 commit0"></circle><circle cx="260" cy="-2" r="6" class="commit commit-merge 应用热修复 commit0"></circle><circle cx="310" cy="88" r="10" class="commit 新增主题适配 commit1"></circle></g><g class="commit-labels"><g transform="translate(-26.5, 23.6) rotate(-45, 0, -2)"><rect class="commit-label-bkg" x="-12" y="11.5" width="44" height="18"></rect><text x="-10" y="23" class="commit-label">初始提交</text></g><g transform="translate(-36.78375, 32.801249999999996) rotate(-45, 50, 88)"><rect class="commit-label-bkg" x="24.46875" y="101.5" width="71.0625" height="18"></rect><text x="26.46875" y="113" class="commit-label">添加 Math 插件</text></g><g transform="translate(-42.51046875, 37.92515625) rotate(-45, 100, 88)"><rect class="commit-label-bkg" x="66.93359375" y="101.5" width="86.1328125" height="18"></rect><text x="68.93359375" y="113" class="commit-label">添加 Mermaid 插件</text></g><g transform="translate(-34.099999999999994, 30.4) rotate(-45, 150, -2)"><rect class="commit-label-bkg" x="128" y="11.5" width="64" height="18"></rect><text x="130" y="23" class="commit-label">合并插件系统</text></g><polygon class="tag-label-bkg" points="
203
+ 136.3918752670288,-19.2
204
+ 136.3918752670288,-23.2
205
+ 144.3918752670288,-30.2
206
+ 175.6081247329712,-30.2
207
+ 175.6081247329712,-12.2
208
+ 144.3918752670288,-12.2"></polygon><circle cy="-21.2" cx="140.3918752670288" r="1.5" class="tag-hole"></circle><text y="-18" class="tag-label" x="148.3918752670288">v2.0.0</text><g transform="translate(-33.18265625, 29.57921875) rotate(-45, 200, 178)"><rect class="commit-label-bkg" x="179.20703125" y="191.5" width="61.5859375" height="18"></rect><text x="181.20703125" y="203" class="commit-label">修复渲染 bug</text></g><g transform="translate(-30.3, 27) rotate(-45, 250, -2)"><rect class="commit-label-bkg" x="233" y="11.5" width="54" height="18"></rect><text x="235" y="23" class="commit-label">应用热修复</text></g><polygon class="tag-label-bkg" points="
209
+ 236.3918752670288,-19.2
210
+ 236.3918752670288,-23.2
211
+ 244.3918752670288,-30.2
212
+ 275.6081247329712,-30.2
213
+ 275.6081247329712,-12.2
214
+ 244.3918752670288,-12.2"></polygon><circle cy="-21.2" cx="240.3918752670288" r="1.5" class="tag-hole"></circle><text y="-18" class="tag-label" x="248.3918752670288">v2.0.1</text><g transform="translate(-34.099999999999994, 30.4) rotate(-45, 300, 88)"><rect class="commit-label-bkg" x="278" y="101.5" width="64" height="18"></rect><text x="280" y="113" class="commit-label">新增主题适配</text></g></g></svg></div></div><h3 id="2.10-思维导图(mindmap)">2.10 思维导图(Mindmap)</h3><div class="mermaid-block" data-mermaid="mindmap
215
+ root((ColaMD))
216
+ 编辑器
217
+ 所见即所得
218
+ 实时同步
219
+ 智能换行
220
+ 插件系统
221
+ Math 公式
222
+ 行内公式
223
+ 块级公式
224
+ PNG 导出
225
+ Mermaid 图表
226
+ 流程图
227
+ 时序图
228
+ 类图
229
+ 甘特图
230
+ 导出功能
231
+ PDF
232
+ HTML
233
+ 幻灯片
234
+ 主题系统
235
+ Light
236
+ Dark
237
+ Elegant
238
+ Newsprint" contenteditable="false"><div class="mermaid-preview"><svg id="mermaid-10" width="100%" xmlns="http://www.w3.org/2000/svg" class="mindmapDiagram" style="max-width: 871.3148193359375px;" viewBox="5 5 871.3148193359375 513.9896850585938" role="graphics-document document" aria-roledescription="mindmap"><style>#mermaid-10{font-family:"LXGW WenKai","Noto Serif SC","Source Han Serif SC","Songti SC",Georgia,serif;font-size:16px;fill:#3d3530;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-10 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-10 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-10 .error-icon{fill:#552222;}#mermaid-10 .error-text{fill:#552222;stroke:#552222;}#mermaid-10 .edge-thickness-normal{stroke-width:1px;}#mermaid-10 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-10 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-10 .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-10 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-10 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-10 .marker{fill:#b0a89f;stroke:#b0a89f;}#mermaid-10 .marker.cross{stroke:#b0a89f;}#mermaid-10 svg{font-family:"LXGW WenKai","Noto Serif SC","Source Han Serif SC","Songti SC",Georgia,serif;font-size:16px;}#mermaid-10 p{margin:0;}#mermaid-10 .edge{stroke-width:3;}#mermaid-10 .section--1 rect,#mermaid-10 .section--1 path,#mermaid-10 .section--1 circle,#mermaid-10 .section--1 polygon,#mermaid-10 .section--1 path{fill:#e8a898;}#mermaid-10 .section--1 text{fill:#c2cacf;}#mermaid-10 .section--1 span{color:#c2cacf;}#mermaid-10 .node-icon--1{font-size:40px;color:#c2cacf;}#mermaid-10 .section-edge--1{stroke:#e8a898;}#mermaid-10 .edge-depth--1{stroke-width:17;}#mermaid-10 .section--1 line{stroke:hsl(60, 100%, 86.2745098039%);stroke-width:3;}#mermaid-10 .disabled,#mermaid-10 .disabled circle,#mermaid-10 .disabled text{fill:lightgray;}#mermaid-10 .disabled text{fill:#efefef;}#mermaid-10 [data-look="neo"].mindmap-node.section--1 rect,#mermaid-10 [data-look="neo"].mindmap-node.section--1 path,#mermaid-10 [data-look="neo"].mindmap-node.section--1 circle,#mermaid-10 [data-look="neo"].mindmap-node.section--1 polygon{fill:#e8a898;stroke:#e8a898;stroke-width:1px;}#mermaid-10 [data-look="neo"].section-edge--1{stroke:#e8a898;}#mermaid-10 [data-look="neo"].mindmap-node.section--1 text{fill:#c2cacf;}#mermaid-10 .section-0 rect,#mermaid-10 .section-0 path,#mermaid-10 .section-0 circle,#mermaid-10 .section-0 polygon,#mermaid-10 .section-0 path{fill:#c4b8a8;}#mermaid-10 .section-0 text{fill:#3d3530;}#mermaid-10 .section-0 span{color:#3d3530;}#mermaid-10 .node-icon-0{font-size:40px;color:#3d3530;}#mermaid-10 .section-edge-0{stroke:#c4b8a8;}#mermaid-10 .edge-depth-0{stroke-width:14;}#mermaid-10 .section-0 line{stroke:hsl(240, 100%, 83.5294117647%);stroke-width:3;}#mermaid-10 .disabled,#mermaid-10 .disabled circle,#mermaid-10 .disabled text{fill:lightgray;}#mermaid-10 .disabled text{fill:#efefef;}#mermaid-10 [data-look="neo"].mindmap-node.section-0 rect,#mermaid-10 [data-look="neo"].mindmap-node.section-0 path,#mermaid-10 [data-look="neo"].mindmap-node.section-0 circle,#mermaid-10 [data-look="neo"].mindmap-node.section-0 polygon{fill:#c4b8a8;stroke:#c4b8a8;stroke-width:1px;}#mermaid-10 [data-look="neo"].section-edge-0{stroke:#c4b8a8;}#mermaid-10 [data-look="neo"].mindmap-node.section-0 text{fill:#3d3530;}#mermaid-10 .section-1 rect,#mermaid-10 .section-1 path,#mermaid-10 .section-1 circle,#mermaid-10 .section-1 polygon,#mermaid-10 .section-1 path{fill:#a8c4b8;}#mermaid-10 .section-1 text{fill:#3d3530;}#mermaid-10 .section-1 span{color:#3d3530;}#mermaid-10 .node-icon-1{font-size:40px;color:#3d3530;}#mermaid-10 .section-edge-1{stroke:#a8c4b8;}#mermaid-10 .edge-depth-1{stroke-width:11;}#mermaid-10 .section-1 line{stroke:hsl(260, 100%, 86.2745098039%);stroke-width:3;}#mermaid-10 .disabled,#mermaid-10 .disabled circle,#mermaid-10 .disabled text{fill:lightgray;}#mermaid-10 .disabled text{fill:#efefef;}#mermaid-10 [data-look="neo"].mindmap-node.section-1 rect,#mermaid-10 [data-look="neo"].mindmap-node.section-1 path,#mermaid-10 [data-look="neo"].mindmap-node.section-1 circle,#mermaid-10 [data-look="neo"].mindmap-node.section-1 polygon{fill:#a8c4b8;stroke:#a8c4b8;stroke-width:1px;}#mermaid-10 [data-look="neo"].section-edge-1{stroke:#a8c4b8;}#mermaid-10 [data-look="neo"].mindmap-node.section-1 text{fill:#3d3530;}#mermaid-10 .section-2 rect,#mermaid-10 .section-2 path,#mermaid-10 .section-2 circle,#mermaid-10 .section-2 polygon,#mermaid-10 .section-2 path{fill:#c8b098;}#mermaid-10 .section-2 text{fill:#c2cacf;}#mermaid-10 .section-2 span{color:#c2cacf;}#mermaid-10 .node-icon-2{font-size:40px;color:#c2cacf;}#mermaid-10 .section-edge-2{stroke:#c8b098;}#mermaid-10 .edge-depth-2{stroke-width:8;}#mermaid-10 .section-2 line{stroke:hsl(90, 100%, 86.2745098039%);stroke-width:3;}#mermaid-10 .disabled,#mermaid-10 .disabled circle,#mermaid-10 .disabled text{fill:lightgray;}#mermaid-10 .disabled text{fill:#efefef;}#mermaid-10 [data-look="neo"].mindmap-node.section-2 rect,#mermaid-10 [data-look="neo"].mindmap-node.section-2 path,#mermaid-10 [data-look="neo"].mindmap-node.section-2 circle,#mermaid-10 [data-look="neo"].mindmap-node.section-2 polygon{fill:#c8b098;stroke:#c8b098;stroke-width:1px;}#mermaid-10 [data-look="neo"].section-edge-2{stroke:#c8b098;}#mermaid-10 [data-look="neo"].mindmap-node.section-2 text{fill:#c2cacf;}#mermaid-10 .section-3 rect,#mermaid-10 .section-3 path,#mermaid-10 .section-3 circle,#mermaid-10 .section-3 polygon,#mermaid-10 .section-3 path{fill:#b8a8c4;}#mermaid-10 .section-3 text{fill:#3d3530;}#mermaid-10 .section-3 span{color:#3d3530;}#mermaid-10 .node-icon-3{font-size:40px;color:#3d3530;}#mermaid-10 .section-edge-3{stroke:#b8a8c4;}#mermaid-10 .edge-depth-3{stroke-width:5;}#mermaid-10 .section-3 line{stroke:hsl(120, 100%, 86.2745098039%);stroke-width:3;}#mermaid-10 .disabled,#mermaid-10 .disabled circle,#mermaid-10 .disabled text{fill:lightgray;}#mermaid-10 .disabled text{fill:#efefef;}#mermaid-10 [data-look="neo"].mindmap-node.section-3 rect,#mermaid-10 [data-look="neo"].mindmap-node.section-3 path,#mermaid-10 [data-look="neo"].mindmap-node.section-3 circle,#mermaid-10 [data-look="neo"].mindmap-node.section-3 polygon{fill:#b8a8c4;stroke:#b8a8c4;stroke-width:1px;}#mermaid-10 [data-look="neo"].section-edge-3{stroke:#b8a8c4;}#mermaid-10 [data-look="neo"].mindmap-node.section-3 text{fill:#3d3530;}#mermaid-10 .section-4 rect,#mermaid-10 .section-4 path,#mermaid-10 .section-4 circle,#mermaid-10 .section-4 polygon,#mermaid-10 .section-4 path{fill:#98c4b0;}#mermaid-10 .section-4 text{fill:#3d3530;}#mermaid-10 .section-4 span{color:#3d3530;}#mermaid-10 .node-icon-4{font-size:40px;color:#3d3530;}#mermaid-10 .section-edge-4{stroke:#98c4b0;}#mermaid-10 .edge-depth-4{stroke-width:2;}#mermaid-10 .section-4 line{stroke:hsl(150, 100%, 86.2745098039%);stroke-width:3;}#mermaid-10 .disabled,#mermaid-10 .disabled circle,#mermaid-10 .disabled text{fill:lightgray;}#mermaid-10 .disabled text{fill:#efefef;}#mermaid-10 [data-look="neo"].mindmap-node.section-4 rect,#mermaid-10 [data-look="neo"].mindmap-node.section-4 path,#mermaid-10 [data-look="neo"].mindmap-node.section-4 circle,#mermaid-10 [data-look="neo"].mindmap-node.section-4 polygon{fill:#98c4b0;stroke:#98c4b0;stroke-width:1px;}#mermaid-10 [data-look="neo"].section-edge-4{stroke:#98c4b0;}#mermaid-10 [data-look="neo"].mindmap-node.section-4 text{fill:#3d3530;}#mermaid-10 .section-5 rect,#mermaid-10 .section-5 path,#mermaid-10 .section-5 circle,#mermaid-10 .section-5 polygon,#mermaid-10 .section-5 path{fill:#d4a888;}#mermaid-10 .section-5 text{fill:#3d3530;}#mermaid-10 .section-5 span{color:#3d3530;}#mermaid-10 .node-icon-5{font-size:40px;color:#3d3530;}#mermaid-10 .section-edge-5{stroke:#d4a888;}#mermaid-10 .edge-depth-5{stroke-width:-1;}#mermaid-10 .section-5 line{stroke:hsl(180, 100%, 86.2745098039%);stroke-width:3;}#mermaid-10 .disabled,#mermaid-10 .disabled circle,#mermaid-10 .disabled text{fill:lightgray;}#mermaid-10 .disabled text{fill:#efefef;}#mermaid-10 [data-look="neo"].mindmap-node.section-5 rect,#mermaid-10 [data-look="neo"].mindmap-node.section-5 path,#mermaid-10 [data-look="neo"].mindmap-node.section-5 circle,#mermaid-10 [data-look="neo"].mindmap-node.section-5 polygon{fill:#d4a888;stroke:#d4a888;stroke-width:1px;}#mermaid-10 [data-look="neo"].section-edge-5{stroke:#d4a888;}#mermaid-10 [data-look="neo"].mindmap-node.section-5 text{fill:#3d3530;}#mermaid-10 .section-6 rect,#mermaid-10 .section-6 path,#mermaid-10 .section-6 circle,#mermaid-10 .section-6 polygon,#mermaid-10 .section-6 path{fill:#a8b8c8;}#mermaid-10 .section-6 text{fill:#3d3530;}#mermaid-10 .section-6 span{color:#3d3530;}#mermaid-10 .node-icon-6{font-size:40px;color:#3d3530;}#mermaid-10 .section-edge-6{stroke:#a8b8c8;}#mermaid-10 .edge-depth-6{stroke-width:-4;}#mermaid-10 .section-6 line{stroke:hsl(210, 100%, 86.2745098039%);stroke-width:3;}#mermaid-10 .disabled,#mermaid-10 .disabled circle,#mermaid-10 .disabled text{fill:lightgray;}#mermaid-10 .disabled text{fill:#efefef;}#mermaid-10 [data-look="neo"].mindmap-node.section-6 rect,#mermaid-10 [data-look="neo"].mindmap-node.section-6 path,#mermaid-10 [data-look="neo"].mindmap-node.section-6 circle,#mermaid-10 [data-look="neo"].mindmap-node.section-6 polygon{fill:#a8b8c8;stroke:#a8b8c8;stroke-width:1px;}#mermaid-10 [data-look="neo"].section-edge-6{stroke:#a8b8c8;}#mermaid-10 [data-look="neo"].mindmap-node.section-6 text{fill:#3d3530;}#mermaid-10 .section-7 rect,#mermaid-10 .section-7 path,#mermaid-10 .section-7 circle,#mermaid-10 .section-7 polygon,#mermaid-10 .section-7 path{fill:#c4a898;}#mermaid-10 .section-7 text{fill:#3d3530;}#mermaid-10 .section-7 span{color:#3d3530;}#mermaid-10 .node-icon-7{font-size:40px;color:#3d3530;}#mermaid-10 .section-edge-7{stroke:#c4a898;}#mermaid-10 .edge-depth-7{stroke-width:-7;}#mermaid-10 .section-7 line{stroke:hsl(270, 100%, 86.2745098039%);stroke-width:3;}#mermaid-10 .disabled,#mermaid-10 .disabled circle,#mermaid-10 .disabled text{fill:lightgray;}#mermaid-10 .disabled text{fill:#efefef;}#mermaid-10 [data-look="neo"].mindmap-node.section-7 rect,#mermaid-10 [data-look="neo"].mindmap-node.section-7 path,#mermaid-10 [data-look="neo"].mindmap-node.section-7 circle,#mermaid-10 [data-look="neo"].mindmap-node.section-7 polygon{fill:#c4a898;stroke:#c4a898;stroke-width:1px;}#mermaid-10 [data-look="neo"].section-edge-7{stroke:#c4a898;}#mermaid-10 [data-look="neo"].mindmap-node.section-7 text{fill:#3d3530;}#mermaid-10 .section-8 rect,#mermaid-10 .section-8 path,#mermaid-10 .section-8 circle,#mermaid-10 .section-8 polygon,#mermaid-10 .section-8 path{fill:#98b8a8;}#mermaid-10 .section-8 text{fill:#3d3530;}#mermaid-10 .section-8 span{color:#3d3530;}#mermaid-10 .node-icon-8{font-size:40px;color:#3d3530;}#mermaid-10 .section-edge-8{stroke:#98b8a8;}#mermaid-10 .edge-depth-8{stroke-width:-10;}#mermaid-10 .section-8 line{stroke:hsl(330, 100%, 86.2745098039%);stroke-width:3;}#mermaid-10 .disabled,#mermaid-10 .disabled circle,#mermaid-10 .disabled text{fill:lightgray;}#mermaid-10 .disabled text{fill:#efefef;}#mermaid-10 [data-look="neo"].mindmap-node.section-8 rect,#mermaid-10 [data-look="neo"].mindmap-node.section-8 path,#mermaid-10 [data-look="neo"].mindmap-node.section-8 circle,#mermaid-10 [data-look="neo"].mindmap-node.section-8 polygon{fill:#98b8a8;stroke:#98b8a8;stroke-width:1px;}#mermaid-10 [data-look="neo"].section-edge-8{stroke:#98b8a8;}#mermaid-10 [data-look="neo"].mindmap-node.section-8 text{fill:#3d3530;}#mermaid-10 .section-9 rect,#mermaid-10 .section-9 path,#mermaid-10 .section-9 circle,#mermaid-10 .section-9 polygon,#mermaid-10 .section-9 path{fill:#b8c4a8;}#mermaid-10 .section-9 text{fill:#3d3530;}#mermaid-10 .section-9 span{color:#3d3530;}#mermaid-10 .node-icon-9{font-size:40px;color:#3d3530;}#mermaid-10 .section-edge-9{stroke:#b8c4a8;}#mermaid-10 .edge-depth-9{stroke-width:-13;}#mermaid-10 .section-9 line{stroke:hsl(0, 100%, 86.2745098039%);stroke-width:3;}#mermaid-10 .disabled,#mermaid-10 .disabled circle,#mermaid-10 .disabled text{fill:lightgray;}#mermaid-10 .disabled text{fill:#efefef;}#mermaid-10 [data-look="neo"].mindmap-node.section-9 rect,#mermaid-10 [data-look="neo"].mindmap-node.section-9 path,#mermaid-10 [data-look="neo"].mindmap-node.section-9 circle,#mermaid-10 [data-look="neo"].mindmap-node.section-9 polygon{fill:#b8c4a8;stroke:#b8c4a8;stroke-width:1px;}#mermaid-10 [data-look="neo"].section-edge-9{stroke:#b8c4a8;}#mermaid-10 [data-look="neo"].mindmap-node.section-9 text{fill:#3d3530;}#mermaid-10 .section-10 rect,#mermaid-10 .section-10 path,#mermaid-10 .section-10 circle,#mermaid-10 .section-10 polygon,#mermaid-10 .section-10 path{fill:#a898b8;}#mermaid-10 .section-10 text{fill:#3d3530;}#mermaid-10 .section-10 span{color:#3d3530;}#mermaid-10 .node-icon-10{font-size:40px;color:#3d3530;}#mermaid-10 .section-edge-10{stroke:#a898b8;}#mermaid-10 .edge-depth-10{stroke-width:-16;}#mermaid-10 .section-10 line{stroke:hsl(30, 100%, 86.2745098039%);stroke-width:3;}#mermaid-10 .disabled,#mermaid-10 .disabled circle,#mermaid-10 .disabled text{fill:lightgray;}#mermaid-10 .disabled text{fill:#efefef;}#mermaid-10 [data-look="neo"].mindmap-node.section-10 rect,#mermaid-10 [data-look="neo"].mindmap-node.section-10 path,#mermaid-10 [data-look="neo"].mindmap-node.section-10 circle,#mermaid-10 [data-look="neo"].mindmap-node.section-10 polygon{fill:#a898b8;stroke:#a898b8;stroke-width:1px;}#mermaid-10 [data-look="neo"].section-edge-10{stroke:#a898b8;}#mermaid-10 [data-look="neo"].mindmap-node.section-10 text{fill:#3d3530;}#mermaid-10 .section-root rect,#mermaid-10 .section-root path,#mermaid-10 .section-root circle,#mermaid-10 .section-root polygon{fill:hsl(240, 100%, 96.2745098039%);}#mermaid-10 .section-root text{fill:#ffffff;}#mermaid-10 .section-root span{color:#ffffff;}#mermaid-10 .icon-container{height:100%;display:flex;justify-content:center;align-items:center;}#mermaid-10 .edge{fill:none;}#mermaid-10 .mindmap-node-label{dy:1em;alignment-baseline:middle;text-anchor:middle;dominant-baseline:middle;text-align:center;}#mermaid-10 [data-look="neo"].mindmap-node{filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-10 [data-look="neo"].mindmap-node.section-root rect,#mermaid-10 [data-look="neo"].mindmap-node.section-root path,#mermaid-10 [data-look="neo"].mindmap-node.section-root circle,#mermaid-10 [data-look="neo"].mindmap-node.section-root polygon{fill:hsl(240, 100%, 96.2745098039%);}#mermaid-10 [data-look="neo"].mindmap-node.section-root .text-inner-tspan{fill:#c2cacf;}#mermaid-10 .node .neo-node{stroke:#b0a89f;}#mermaid-10 [data-look="neo"].node rect,#mermaid-10 [data-look="neo"].cluster rect,#mermaid-10 [data-look="neo"].node polygon{stroke:#b0a89f;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-10 [data-look="neo"].node path{stroke:#b0a89f;stroke-width:1px;}#mermaid-10 [data-look="neo"].node .outer-path{filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-10 [data-look="neo"].node .neo-line path{stroke:#b0a89f;filter:none;}#mermaid-10 [data-look="neo"].node circle{stroke:#b0a89f;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-10 [data-look="neo"].node circle .state-start{fill:#000000;}#mermaid-10 [data-look="neo"].icon-shape .icon{fill:#b0a89f;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-10 [data-look="neo"].icon-shape .icon-neo path{stroke:#b0a89f;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-10 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}</style><g><marker id="mermaid-10_mindmap-pointEnd" class="marker mindmap" viewBox="0 0 10 10" refX="5" refY="5" markerUnits="userSpaceOnUse" markerWidth="8" markerHeight="8" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"></path></marker><marker id="mermaid-10_mindmap-pointStart" class="marker mindmap" viewBox="0 0 10 10" refX="4.5" refY="5" markerUnits="userSpaceOnUse" markerWidth="8" markerHeight="8" orient="auto"><path d="M 0 5 L 10 10 L 10 0 z" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"></path></marker><marker id="mermaid-10_mindmap-pointEnd-margin" class="marker mindmap" viewBox="0 0 11.5 14" refX="11.5" refY="7" markerUnits="userSpaceOnUse" markerWidth="10.5" markerHeight="14" orient="auto"><path d="M 0 0 L 11.5 7 L 0 14 z" class="arrowMarkerPath" style="stroke-width: 0; stroke-dasharray: 1, 0;"></path></marker><marker id="mermaid-10_mindmap-pointStart-margin" class="marker mindmap" viewBox="0 0 11.5 14" refX="1" refY="7" markerUnits="userSpaceOnUse" markerWidth="11.5" markerHeight="14" orient="auto"><polygon points="0,7 11.5,14 11.5,0" class="arrowMarkerPath" style="stroke-width: 0; stroke-dasharray: 1, 0;"></polygon></marker><g class="subgraphs"></g><g class="edgePaths"><path d="M521.566,220.327L530.719,223.426C539.873,226.524,558.179,232.721,576.486,238.917C594.793,245.114,613.1,251.31,622.253,254.408L631.407,257.507" id="mermaid-10-edge_0_1" class=" edge-thickness-normal edge-pattern-solid edge section-edge-0 edge-depth-1" style="undefined;;;undefined" data-edge="true" data-et="edge" data-id="edge_0_1" data-points="W3sieCI6NTIxLjU2NTg1NjA0MjkxMDUsInkiOjIyMC4zMjc0MTM3MTU3ODM1Nn0seyJ4Ijo1NzYuNDg2MzEzNDgxLCJ5IjoyMzguOTE3MDY3NjI5NjAwOTh9LHsieCI6NjMxLjQwNjc3MDkxOTA4OTYsInkiOjI1Ny41MDY3MjE1NDM0MTg0fV0=" data-look="classic"></path><path d="M660.575,261.224L671.473,260.428C682.372,259.633,704.168,258.042,725.965,256.451C747.761,254.86,769.558,253.269,780.456,252.474L791.355,251.678" id="mermaid-10-edge_1_2" class=" edge-thickness-normal edge-pattern-solid edge section-edge-0 edge-depth-3" style="undefined;;;undefined" data-edge="true" data-et="edge" data-id="edge_1_2" data-points="W3sieCI6NjYwLjU3NTExNjg0ODEyODYsInkiOjI2MS4yMjM5NjI1MDQ1NDYyNX0seyJ4Ijo3MjUuOTY0ODcxNTYyMDU2LCJ5IjoyNTYuNDUxMDE5MjEzNDg5NzZ9LHsieCI6NzkxLjM1NDYyNjI3NTk4MzUsInkiOjI1MS42NzgwNzU5MjI0MzMyN31d" data-look="classic"></path><path d="M657.937,270.87L663.79,274.933C669.643,278.996,681.348,287.122,693.054,295.248C704.759,303.374,716.465,311.5,722.318,315.563L728.171,319.626" id="mermaid-10-edge_1_3" class=" edge-thickness-normal edge-pattern-solid edge section-edge-0 edge-depth-3" style="undefined;;;undefined" data-edge="true" data-et="edge" data-id="edge_1_3" data-points="W3sieCI6NjU3LjkzNjg2NTIxMzgwNjYsInkiOjI3MC44Njk4NjMxMTk2OTEzM30seyJ4Ijo2OTMuMDUzNzkwNjIxMTUyLCJ5IjoyOTUuMjQ4MTA2NDg1MDk2NH0seyJ4Ijo3MjguMTcwNzE2MDI4NDk3MywieSI6MzE5LjYyNjM0OTg1MDUwMTQ3fV0=" data-look="classic"></path><path d="M636.15,273.953L632.636,278.272C629.123,282.592,622.095,291.231,615.068,299.87C608.041,308.509,601.014,317.148,597.501,321.468L593.987,325.788" id="mermaid-10-edge_1_4" class=" edge-thickness-normal edge-pattern-solid edge section-edge-0 edge-depth-3" style="undefined;;;undefined" data-edge="true" data-et="edge" data-id="edge_1_4" data-points="W3sieCI6NjM2LjE0OTcwMzkyNzQzNDEsInkiOjI3My45NTI1MDk5NTUzNTg4fSx7IngiOjYxNS4wNjgzNDUwMjY5MjYsInkiOjI5OS44NzAwMTM4MzAyNDA4NX0seyJ4Ijo1OTMuOTg2OTg2MTI2NDE3OCwieSI6MzI1Ljc4NzUxNzcwNTEyMjl9XQ==" data-look="classic"></path><path d="M496.587,225.958L490.034,232.31C483.481,238.662,470.375,251.365,457.269,264.069C444.164,276.773,431.058,289.476,424.505,295.828L417.952,302.18" id="mermaid-10-edge_0_5" class=" edge-thickness-normal edge-pattern-solid edge section-edge-1 edge-depth-1" style="undefined;;;undefined" data-edge="true" data-et="edge" data-id="edge_0_5" data-points="W3sieCI6NDk2LjU4NzEwNTYyNDcwODU2LCJ5IjoyMjUuOTU4MjE3NTE0MDYxODZ9LHsieCI6NDU3LjI2OTQ1NjIxNzkxOTM2LCJ5IjoyNjQuMDY5MDkyNjQyNjE2NH0seyJ4Ijo0MTcuOTUxODA2ODExMTMwMTUsInkiOjMwMi4xNzk5Njc3NzExNzA5NH1d" data-look="classic"></path><path d="M411.346,327.03L412.836,332.185C414.326,337.34,417.306,347.651,420.286,357.961C423.266,368.271,426.246,378.581,427.735,383.736L429.225,388.891" id="mermaid-10-edge_5_6" class=" edge-thickness-normal edge-pattern-solid edge section-edge-1 edge-depth-3" style="undefined;;;undefined" data-edge="true" data-et="edge" data-id="edge_5_6" data-points="W3sieCI6NDExLjM0NjEwMTUwNzcyMjksInkiOjMyNy4wMzAxODIwNzgwMTI2fSx7IngiOjQyMC4yODU3Njk4MDI5MDk2LCJ5IjozNTcuOTYwNjYyMTM2NDY2Mn0seyJ4Ijo0MjkuMjI1NDM4MDk4MDk2MzMsInkiOjM4OC44OTExNDIxOTQ5MTk4NH1d" data-look="classic"></path><path d="M436.397,417.997L437.408,422.938C438.419,427.88,440.442,437.763,442.464,447.646C444.486,457.528,446.508,467.411,447.519,472.353L448.53,477.294" id="mermaid-10-edge_6_7" class=" edge-thickness-normal edge-pattern-solid edge section-edge-1 edge-depth-5" style="undefined;;;undefined" data-edge="true" data-et="edge" data-id="edge_6_7" data-points="W3sieCI6NDM2LjM5NzI3MzAxNDk3Mzg1LCJ5Ijo0MTcuOTk2ODU0NTQ4NzAxMX0seyJ4Ijo0NDIuNDYzODU3MzYzOTM2OSwieSI6NDQ3LjY0NTUxNTI2MzEyMTY0fSx7IngiOjQ0OC41MzA0NDE3MTI4OTk5LCJ5Ijo0NzcuMjk0MTc1OTc3NTQyMn1d" data-look="classic"></path><path d="M419.679,409.383L411.287,413.106C402.895,416.828,386.112,424.273,369.328,431.718C352.545,439.162,335.761,446.607,327.369,450.33L318.977,454.052" id="mermaid-10-edge_6_8" class=" edge-thickness-normal edge-pattern-solid edge section-edge-1 edge-depth-5" style="undefined;;;undefined" data-edge="true" data-et="edge" data-id="edge_6_8" data-points="W3sieCI6NDE5LjY3ODczODQxMTEwNTM3LCJ5Ijo0MDkuMzgzNDQzMTEyNDg4N30seyJ4IjozNjkuMzI4MDk2OTgwMjg3NiwieSI6NDMxLjcxNzY4MTUxMDExMjM2fSx7IngiOjMxOC45Nzc0NTU1NDk0Njk5LCJ5Ijo0NTQuMDUxOTE5OTA3NzM2fV0=" data-look="classic"></path><path d="M447.965,406.85L459.404,409.635C470.843,412.42,493.721,417.991,516.599,423.561C539.477,429.132,562.355,434.702,573.794,437.488L585.233,440.273" id="mermaid-10-edge_6_9" class=" edge-thickness-normal edge-pattern-solid edge section-edge-1 edge-depth-5" style="undefined;;;undefined" data-edge="true" data-et="edge" data-id="edge_6_9" data-points="W3sieCI6NDQ3Ljk2NDUzOTEwMzYxNjA2LCJ5Ijo0MDYuODQ5OTQ0Njc0NjUyOTN9LHsieCI6NTE2LjU5ODcwOTYyOTIwNDYsInkiOjQyMy41NjEzOTAyNzE4ODgzfSx7IngiOjU4NS4yMzI4ODAxNTQ3OTMxLCJ5Ijo0NDAuMjcyODM1ODY5MTIzNjR9XQ==" data-look="classic"></path><path d="M392.207,311.745L379.648,311.011C367.089,310.277,341.971,308.81,316.853,307.342C291.735,305.874,266.618,304.406,254.059,303.673L241.5,302.939" id="mermaid-10-edge_5_10" class=" edge-thickness-normal edge-pattern-solid edge section-edge-1 edge-depth-3" style="undefined;;;undefined" data-edge="true" data-et="edge" data-id="edge_5_10" data-points="W3sieCI6MzkyLjIwNjc0NDcxNDU3ODMsInkiOjMxMS43NDQ5OTQxNzk0MDc4fSx7IngiOjMxNi44NTMyOTgwNjg0MTEzMywieSI6MzA3LjM0MTg5NjExNTE2NTh9LHsieCI6MjQxLjQ5OTg1MTQyMjI0NDM4LCJ5IjozMDIuOTM4Nzk4MDUwOTIzOH1d" data-look="classic"></path><path d="M221.991,287.766L220.51,283.095C219.029,278.425,216.067,269.084,213.105,259.744C210.143,250.403,207.181,241.063,205.7,236.393L204.219,231.722" id="mermaid-10-edge_10_11" class=" edge-thickness-normal edge-pattern-solid edge section-edge-1 edge-depth-5" style="undefined;;;undefined" data-edge="true" data-et="edge" data-id="edge_10_11" data-points="W3sieCI6MjIxLjk5MTA5ODUxODAxNjMyLCJ5IjoyODcuNzY1NTQ0MDUxMDI0Nn0seyJ4IjoyMTMuMTA0ODE3MTA0NDM5NCwieSI6MjU5Ljc0MzkxNTIwOTI3OTc1fSx7IngiOjIwNC4yMTg1MzU2OTA4NjI1LCJ5IjoyMzEuNzIyMjg2MzY3NTM0ODh9XQ==" data-look="classic"></path><path d="M227.615,317.024L227.957,321.719C228.299,326.414,228.982,335.804,229.666,345.194C230.35,354.583,231.034,363.973,231.376,368.668L231.718,373.363" id="mermaid-10-edge_10_12" class=" edge-thickness-normal edge-pattern-solid edge section-edge-1 edge-depth-5" style="undefined;;;undefined" data-edge="true" data-et="edge" data-id="edge_10_12" data-points="W3sieCI6MjI3LjYxNDg1MzUzNjI2MDYzLCJ5IjozMTcuMDI0MTg1MTA4MTg0ODR9LHsieCI6MjI5LjY2NjIzMDkxODMyMjg3LCJ5IjozNDUuMTkzNTUzNDIzNzA4NH0seyJ4IjoyMzEuNzE3NjA4MzAwMzg1MSwieSI6MzczLjM2MjkyMTczOTIzMn1d" data-look="classic"></path><path d="M212.856,308.24L204.752,311.901C196.648,315.563,180.44,322.886,164.231,330.209C148.023,337.532,131.815,344.855,123.711,348.517L115.607,352.178" id="mermaid-10-edge_10_13" class=" edge-thickness-normal edge-pattern-solid edge section-edge-1 edge-depth-5" style="undefined;;;undefined" data-edge="true" data-et="edge" data-id="edge_10_13" data-points="W3sieCI6MjEyLjg1NTg3Mzk4Nzc1ODM0LCJ5IjozMDguMjM5OTAyODcyNTUyMn0seyJ4IjoxNjQuMjMxNDgzNTczMDgzMzgsInkiOjMzMC4yMDkxNTc2OTA5OTkzfSx7IngiOjExNS42MDcwOTMxNTg0MDg0LCJ5IjozNTIuMTc4NDEyNTA5NDQ2NH1d" data-look="classic"></path><path d="M211.943,298.548L200.413,295.767C188.883,292.987,165.823,287.426,142.763,281.866C119.702,276.305,96.642,270.745,85.112,267.964L73.582,265.184" id="mermaid-10-edge_10_14" class=" edge-thickness-normal edge-pattern-solid edge section-edge-1 edge-depth-5" style="undefined;;;undefined" data-edge="true" data-et="edge" data-id="edge_10_14" data-points="W3sieCI6MjExLjk0MzM0MjYzODY3MzY0LCJ5IjoyOTguNTQ3NTg0MjM2MjExM30seyJ4IjoxNDIuNzYyNjk2OTAwNTI5NzYsInkiOjI4MS44NjU4MzA4NDkwMzUzfSx7IngiOjczLjU4MjA1MTE2MjM4NTg4LCJ5IjoyNjUuMTg0MDc3NDYxODU5M31d" data-look="classic"></path><path d="M494.968,207.063L487.741,202.131C480.514,197.199,466.059,187.335,451.605,177.47C437.15,167.606,422.696,157.742,415.469,152.81L408.242,147.878" id="mermaid-10-edge_0_15" class=" edge-thickness-normal edge-pattern-solid edge section-edge-2 edge-depth-1" style="undefined;;;undefined" data-edge="true" data-et="edge" data-id="edge_0_15" data-points="W3sieCI6NDk0Ljk2Nzg2MTcxMDAxOTg2LCJ5IjoyMDcuMDYyOTIwNjUzNDkyMjN9LHsieCI6NDUxLjYwNDgzMDA4NDgxNDI0LCJ5IjoxNzcuNDcwNDQzMTM3OTY3NX0seyJ4Ijo0MDguMjQxNzk4NDU5NjA4NSwieSI6MTQ3Ljg3Nzk2NTYyMjQ0Mjc2fV0=" data-look="classic"></path><path d="M381.013,137.233L371.582,135.841C362.152,134.449,343.291,131.665,324.43,128.881C305.569,126.098,286.708,123.314,277.278,121.922L267.847,120.53" id="mermaid-10-edge_15_16" class=" edge-thickness-normal edge-pattern-solid edge section-edge-2 edge-depth-3" style="undefined;;;undefined" data-edge="true" data-et="edge" data-id="edge_15_16" data-points="W3sieCI6MzgxLjAxMjcwNTIzMzMyNTA1LCJ5IjoxMzcuMjMyNTI5MDA1MDQ2Nn0seyJ4IjozMjQuNDI5OTY4MTQzNDYyOTMsInkiOjEyOC44ODEzMzU3OTQyODA2M30seyJ4IjoyNjcuODQ3MjMxMDUzNjAwNywieSI6MTIwLjUzMDE0MjU4MzUxNDY3fV0=" data-look="classic"></path><path d="M389.188,152.861L386.973,157.329C384.757,161.797,380.326,170.733,375.895,179.669C371.464,188.604,367.033,197.54,364.818,202.008L362.602,206.476" id="mermaid-10-edge_15_17" class=" edge-thickness-normal edge-pattern-solid edge section-edge-2 edge-depth-3" style="undefined;;;undefined" data-edge="true" data-et="edge" data-id="edge_15_17" data-points="W3sieCI6Mzg5LjE4ODE1NTc4NDY3NDU2LCJ5IjoxNTIuODYxMjEyNjc4ODAyODd9LHsieCI6Mzc1Ljg5NTE0Mzc3NDAxMjcsInkiOjE3OS42Njg1MjU4OTM2ODk5fSx7IngiOjM2Mi42MDIxMzE3NjMzNTA5NCwieSI6MjA2LjQ3NTgzOTEwODU3Njl9XQ==" data-look="classic"></path><path d="M388.856,126.154L386.356,121.413C383.856,116.671,378.856,107.189,373.856,97.706C368.856,88.223,363.856,78.741,361.357,73.999L358.857,69.258" id="mermaid-10-edge_15_18" class=" edge-thickness-normal edge-pattern-solid edge section-edge-2 edge-depth-3" style="undefined;;;undefined" data-edge="true" data-et="edge" data-id="edge_15_18" data-points="W3sieCI6Mzg4Ljg1NTkwNTI5MDU0NTQsInkiOjEyNi4xNTQxMDYzNTM5MzIxfSx7IngiOjM3My44NTYyNTgzNzAzMjkzLCJ5Ijo5Ny43MDYwMTg2Mzk0NDkzM30seyJ4IjozNTguODU2NjExNDUwMTEzMSwieSI6NjkuMjU3OTMwOTI0OTY2NTZ9XQ==" data-look="classic"></path><path d="M518.061,205.01L524.448,198.739C530.835,192.469,543.608,179.929,556.382,167.389C569.155,154.848,581.928,142.308,588.315,136.038L594.702,129.768" id="mermaid-10-edge_0_19" class=" edge-thickness-normal edge-pattern-solid edge section-edge-3 edge-depth-1" style="undefined;;;undefined" data-edge="true" data-et="edge" data-id="edge_0_19" data-points="W3sieCI6NTE4LjA2MTQ4MzI3MjAyMzYsInkiOjIwNS4wMDk2NjI3OTU5MDIzfSx7IngiOjU1Ni4zODE1Mjc4NTYwODAxLCJ5IjoxNjcuMzg4NTkyMjMyMzczMDF9LHsieCI6NTk0LjcwMTU3MjQ0MDEzNjYsInkiOjEyOS43Njc1MjE2Njg4NDM3M31d" data-look="classic"></path><path d="M609.866,104.938L611.388,100.053C612.91,95.168,615.953,85.399,618.996,75.629C622.039,65.86,625.082,56.091,626.604,51.206L628.126,46.321" id="mermaid-10-edge_19_20" class=" edge-thickness-normal edge-pattern-solid edge section-edge-3 edge-depth-3" style="undefined;;;undefined" data-edge="true" data-et="edge" data-id="edge_19_20" data-points="W3sieCI6NjA5Ljg2NjQ0MDU2OTUxMzEsInkiOjEwNC45Mzc3MjQ4ODIyNjY2Nn0seyJ4Ijo2MTguOTk1OTk2OTcxOTE3NCwieSI6NzUuNjI5NDk0OTUxMjY4Mjd9LHsieCI6NjI4LjEyNTU1MzM3NDMyMTcsInkiOjQ2LjMyMTI2NTAyMDI2OTg4fV0=" data-look="classic"></path><path d="M619.472,124.469L628.158,127.686C636.845,130.903,654.218,137.338,671.591,143.773C688.964,150.207,706.337,156.642,715.023,159.859L723.71,163.076" id="mermaid-10-edge_19_21" class=" edge-thickness-normal edge-pattern-solid edge section-edge-3 edge-depth-3" style="undefined;;;undefined" data-edge="true" data-et="edge" data-id="edge_19_21" data-points="W3sieCI6NjE5LjQ3MTUzOTYzODc1NzMsInkiOjEyNC40Njg4MDYxNzYwNzIwOX0seyJ4Ijo2NzEuNTkwNzcxNDM4NjQwOCwieSI6MTQzLjc3MjY1MDY2MTY3NDg1fSx7IngiOjcyMy43MTAwMDMyMzg1MjQyLCJ5IjoxNjMuMDc2NDk1MTQ3Mjc3Nn1d" data-look="classic"></path><path d="M619.843,115.189L630.242,112.258C640.641,109.326,661.44,103.463,682.239,97.6C703.038,91.737,723.836,85.874,734.236,82.942L744.635,80.011" id="mermaid-10-edge_19_22" class=" edge-thickness-normal edge-pattern-solid edge section-edge-3 edge-depth-3" style="undefined;;;undefined" data-edge="true" data-et="edge" data-id="edge_19_22" data-points="W3sieCI6NjE5Ljg0MjY3ODA3NTM4ODYsInkiOjExNS4xODkxNzAzMzExMDIzM30seyJ4Ijo2ODIuMjM4ODQ4MjcxMDExLCJ5Ijo5Ny41OTk5Njg0OTY4ODk3NH0seyJ4Ijo3NDQuNjM1MDE4NDY2NjMzNCwieSI6ODAuMDEwNzY2NjYyNjc3MTZ9XQ==" data-look="classic"></path><path d="M592.396,111.792L585.737,107.97C579.079,104.148,565.762,96.505,552.444,88.861C539.127,81.217,525.81,73.573,519.151,69.752L512.493,65.93" id="mermaid-10-edge_19_23" class=" edge-thickness-normal edge-pattern-solid edge section-edge-3 edge-depth-3" style="undefined;;;undefined" data-edge="true" data-et="edge" data-id="edge_19_23" data-points="W3sieCI6NTkyLjM5NTk4MDY5MTY0MTUsInkiOjExMS43OTE5Njc0NDU5NzgzM30seyJ4Ijo1NTIuNDQ0MzUxMTQ3NjYwMSwieSI6ODguODYwODE2MTcxMDgyNDl9LHsieCI6NTEyLjQ5MjcyMTYwMzY3ODcsInkiOjY1LjkyOTY2NDg5NjE4NjY1fV0=" data-look="classic"></path></g><g class="edgeLabels"><g class="edgeLabel"><g class="label" data-id="edge_0_1" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel "></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="edge_1_2" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel "></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="edge_1_3" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel "></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="edge_1_4" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel "></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="edge_0_5" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel "></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="edge_5_6" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel "></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="edge_6_7" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel "></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="edge_6_8" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel "></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="edge_6_9" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel "></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="edge_5_10" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel "></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="edge_10_11" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel "></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="edge_10_12" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel "></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="edge_10_13" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel "></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="edge_10_14" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel "></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="edge_0_15" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel "></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="edge_15_16" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel "></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="edge_15_17" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel "></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="edge_15_18" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel "></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="edge_0_19" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel "></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="edge_19_20" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel "></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="edge_19_21" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel "></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="edge_19_22" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel "></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="edge_19_23" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel "></span></div></foreignObject></g></g></g><g class="nodes"><g class="node mindmap-node section-root section--1 " id="mermaid-10-node_0" data-look="classic" transform="translate(507.35771010007556, 215.5181945622095)"><circle class="basic label-container" style="" r="38.296875" cx="0" cy="0"></circle><g class="label" style="" transform="translate(-28.296875, -12)"><rect></rect><foreignObject width="56.59375" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel markdown-node-label"><p>ColaMD</p></span></div></foreignObject></g></g><g class="node mindmap-node section-0 " id="mermaid-10-node_1" data-look="classic" transform="translate(645.6149168619245, 262.31594069699247)"><path id="mermaid-10-node_1" class="node-bkg node-0" style="" d="
239
+ M-44 12
240
+ v-24
241
+ q0,-5 5,-5
242
+ h78
243
+ q5,0 5,5
244
+ v24
245
+ q0,5 -5,5
246
+ h-78
247
+ q-5,0 -5,-5
248
+ Z
249
+ "></path><line class="node-line-" x1="-44" y1="17" x2="44" y2="17"></line><g class="label" style="" transform="translate(-24, -12)"><rect></rect><foreignObject width="48" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel markdown-node-label"><p>编辑器</p></span></div></foreignObject></g></g><g class="node mindmap-node section-0 " id="mermaid-10-node_2" data-look="classic" transform="translate(806.3148262621876, 250.58609772998705)"><path id="mermaid-10-node_2" class="node-bkg node-0" style="" d="
250
+ M-60 12
251
+ v-24
252
+ q0,-5 5,-5
253
+ h110
254
+ q5,0 5,5
255
+ v24
256
+ q0,5 -5,5
257
+ h-110
258
+ q-5,0 -5,-5
259
+ Z
260
+ "></path><line class="node-line-" x1="-60" y1="17" x2="60" y2="17"></line><g class="label" style="" transform="translate(-40, -12)"><rect></rect><foreignObject width="80" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel markdown-node-label"><p>所见即所得</p></span></div></foreignObject></g></g><g class="node mindmap-node section-0 " id="mermaid-10-node_3" data-look="classic" transform="translate(740.4926643803794, 328.18027227320033)"><path id="mermaid-10-node_3" class="node-bkg node-0" style="" d="
261
+ M-52 12
262
+ v-24
263
+ q0,-5 5,-5
264
+ h94
265
+ q5,0 5,5
266
+ v24
267
+ q0,5 -5,5
268
+ h-94
269
+ q-5,0 -5,-5
270
+ Z
271
+ "></path><line class="node-line-" x1="-52" y1="17" x2="52" y2="17"></line><g class="label" style="" transform="translate(-32, -12)"><rect></rect><foreignObject width="64" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel markdown-node-label"><p>实时同步</p></span></div></foreignObject></g></g><g class="node mindmap-node section-0 " id="mermaid-10-node_4" data-look="classic" transform="translate(584.5217731919274, 337.42408696348923)"><path id="mermaid-10-node_4" class="node-bkg node-0" style="" d="
272
+ M-52 12
273
+ v-24
274
+ q0,-5 5,-5
275
+ h94
276
+ q5,0 5,5
277
+ v24
278
+ q0,5 -5,5
279
+ h-94
280
+ q-5,0 -5,-5
281
+ Z
282
+ "></path><line class="node-line-" x1="-52" y1="17" x2="52" y2="17"></line><g class="label" style="" transform="translate(-32, -12)"><rect></rect><foreignObject width="64" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel markdown-node-label"><p>智能换行</p></span></div></foreignObject></g></g><g class="node mindmap-node section-1 " id="mermaid-10-node_5" data-look="classic" transform="translate(407.18120233576315, 312.6199907230233)"><path id="mermaid-10-node_5" class="node-bkg node-0" style="" d="
283
+ M-52 12
284
+ v-24
285
+ q0,-5 5,-5
286
+ h94
287
+ q5,0 5,5
288
+ v24
289
+ q0,5 -5,5
290
+ h-94
291
+ q-5,0 -5,-5
292
+ Z
293
+ "></path><line class="node-line-" x1="-52" y1="17" x2="52" y2="17"></line><g class="label" style="" transform="translate(-32, -12)"><rect></rect><foreignObject width="64" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel markdown-node-label"><p>插件系统</p></span></div></foreignObject></g></g><g class="node mindmap-node section-1 " id="mermaid-10-node_6" data-look="classic" transform="translate(433.3903372700561, 403.30133354990915)"><path id="mermaid-10-node_6" class="node-bkg node-0" style="" d="
294
+ M-55.6484375 12
295
+ v-24
296
+ q0,-5 5,-5
297
+ h101.296875
298
+ q5,0 5,5
299
+ v24
300
+ q0,5 -5,5
301
+ h-101.296875
302
+ q-5,0 -5,-5
303
+ Z
304
+ "></path><line class="node-line-" x1="-55.6484375" y1="17" x2="55.6484375" y2="17"></line><g class="label" style="" transform="translate(-35.6484375, -12)"><rect></rect><foreignObject width="71.296875" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel markdown-node-label"><p>Math 公式</p></span></div></foreignObject></g></g><g class="node mindmap-node section-1 " id="mermaid-10-node_7" data-look="classic" transform="translate(451.5373774578177, 491.98969697633413)"><path id="mermaid-10-node_7" class="node-bkg node-0" style="" d="
305
+ M-52 12
306
+ v-24
307
+ q0,-5 5,-5
308
+ h94
309
+ q5,0 5,5
310
+ v24
311
+ q0,5 -5,5
312
+ h-94
313
+ q-5,0 -5,-5
314
+ Z
315
+ "></path><line class="node-line-" x1="-52" y1="17" x2="52" y2="17"></line><g class="label" style="" transform="translate(-32, -12)"><rect></rect><foreignObject width="64" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel markdown-node-label"><p>行内公式</p></span></div></foreignObject></g></g><g class="node mindmap-node section-1 " id="mermaid-10-node_8" data-look="classic" transform="translate(305.2658566905192, 460.13402947031557)"><path id="mermaid-10-node_8" class="node-bkg node-0" style="" d="
316
+ M-52 12
317
+ v-24
318
+ q0,-5 5,-5
319
+ h94
320
+ q5,0 5,5
321
+ v24
322
+ q0,5 -5,5
323
+ h-94
324
+ q-5,0 -5,-5
325
+ Z
326
+ "></path><line class="node-line-" x1="-52" y1="17" x2="52" y2="17"></line><g class="label" style="" transform="translate(-32, -12)"><rect></rect><foreignObject width="64" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel markdown-node-label"><p>块级公式</p></span></div></foreignObject></g></g><g class="node mindmap-node section-1 " id="mermaid-10-node_9" data-look="classic" transform="translate(599.807081988353, 443.8214469938674)"><path id="mermaid-10-node_9" class="node-bkg node-0" style="" d="
327
+ M-54.8828125 12
328
+ v-24
329
+ q0,-5 5,-5
330
+ h99.765625
331
+ q5,0 5,5
332
+ v24
333
+ q0,5 -5,5
334
+ h-99.765625
335
+ q-5,0 -5,-5
336
+ Z
337
+ "></path><line class="node-line-" x1="-54.8828125" y1="17" x2="54.8828125" y2="17"></line><g class="label" style="" transform="translate(-34.8828125, -12)"><rect></rect><foreignObject width="69.765625" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel markdown-node-label"><p>PNG 导出</p></span></div></foreignObject></g></g><g class="node mindmap-node section-1 " id="mermaid-10-node_10" data-look="classic" transform="translate(226.52539380105952, 302.0638015073083)"><path id="mermaid-10-node_10" class="node-bkg node-0" style="" d="
338
+ M-67.70703125 12
339
+ v-24
340
+ q0,-5 5,-5
341
+ h125.4140625
342
+ q5,0 5,5
343
+ v24
344
+ q0,5 -5,5
345
+ h-125.4140625
346
+ q-5,0 -5,-5
347
+ Z
348
+ "></path><line class="node-line-" x1="-67.70703125" y1="17" x2="67.70703125" y2="17"></line><g class="label" style="" transform="translate(-47.70703125, -12)"><rect></rect><foreignObject width="95.4140625" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel markdown-node-label"><p>Mermaid 图表</p></span></div></foreignObject></g></g><g class="node mindmap-node section-1 " id="mermaid-10-node_11" data-look="classic" transform="translate(199.6842404078193, 217.42402891125118)"><path id="mermaid-10-node_11" class="node-bkg node-0" style="" d="
349
+ M-44 12
350
+ v-24
351
+ q0,-5 5,-5
352
+ h78
353
+ q5,0 5,5
354
+ v24
355
+ q0,5 -5,5
356
+ h-78
357
+ q-5,0 -5,-5
358
+ Z
359
+ "></path><line class="node-line-" x1="-44" y1="17" x2="44" y2="17"></line><g class="label" style="" transform="translate(-24, -12)"><rect></rect><foreignObject width="48" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel markdown-node-label"><p>流程图</p></span></div></foreignObject></g></g><g class="node mindmap-node section-1 " id="mermaid-10-node_12" data-look="classic" transform="translate(232.8070680355862, 388.3233053401085)"><path id="mermaid-10-node_12" class="node-bkg node-0" style="" d="
360
+ M-44 12
361
+ v-24
362
+ q0,-5 5,-5
363
+ h78
364
+ q5,0 5,5
365
+ v24
366
+ q0,5 -5,5
367
+ h-78
368
+ q-5,0 -5,-5
369
+ Z
370
+ "></path><line class="node-line-" x1="-44" y1="17" x2="44" y2="17"></line><g class="label" style="" transform="translate(-24, -12)"><rect></rect><foreignObject width="48" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel markdown-node-label"><p>时序图</p></span></div></foreignObject></g></g><g class="node mindmap-node section-1 " id="mermaid-10-node_13" data-look="classic" transform="translate(101.93757334510724, 358.35451387469027)"><path id="mermaid-10-node_13" class="node-bkg node-0" style="" d="
371
+ M-36 12
372
+ v-24
373
+ q0,-5 5,-5
374
+ h62
375
+ q5,0 5,5
376
+ v24
377
+ q0,5 -5,5
378
+ h-62
379
+ q-5,0 -5,-5
380
+ Z
381
+ "></path><line class="node-line-" x1="-36" y1="17" x2="36" y2="17"></line><g class="label" style="" transform="translate(-16, -12)"><rect></rect><foreignObject width="32" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel markdown-node-label"><p>类图</p></span></div></foreignObject></g></g><g class="node mindmap-node section-1 " id="mermaid-10-node_14" data-look="classic" transform="translate(59, 261.6678601907623)"><path id="mermaid-10-node_14" class="node-bkg node-0" style="" d="
382
+ M-44 12
383
+ v-24
384
+ q0,-5 5,-5
385
+ h78
386
+ q5,0 5,5
387
+ v24
388
+ q0,5 -5,5
389
+ h-78
390
+ q-5,0 -5,-5
391
+ Z
392
+ "></path><line class="node-line-" x1="-44" y1="17" x2="44" y2="17"></line><g class="label" style="" transform="translate(-24, -12)"><rect></rect><foreignObject width="48" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel markdown-node-label"><p>甘特图</p></span></div></foreignObject></g></g><g class="node mindmap-node section-2 " id="mermaid-10-node_15" data-look="classic" transform="translate(395.8519500695528, 139.4226917137255)"><path id="mermaid-10-node_15" class="node-bkg node-0" style="" d="
393
+ M-52 12
394
+ v-24
395
+ q0,-5 5,-5
396
+ h94
397
+ q5,0 5,5
398
+ v24
399
+ q0,5 -5,5
400
+ h-94
401
+ q-5,0 -5,-5
402
+ Z
403
+ "></path><line class="node-line-" x1="-52" y1="17" x2="52" y2="17"></line><g class="label" style="" transform="translate(-32, -12)"><rect></rect><foreignObject width="64" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel markdown-node-label"><p>导出功能</p></span></div></foreignObject></g></g><g class="node mindmap-node section-2 " id="mermaid-10-node_16" data-look="classic" transform="translate(253.00798621737295, 118.33997987483576)"><path id="mermaid-10-node_16" class="node-bkg node-0" style="" d="
404
+ M-35.2265625 12
405
+ v-24
406
+ q0,-5 5,-5
407
+ h60.453125
408
+ q5,0 5,5
409
+ v24
410
+ q0,5 -5,5
411
+ h-60.453125
412
+ q-5,0 -5,-5
413
+ Z
414
+ "></path><line class="node-line-" x1="-35.2265625" y1="17" x2="35.2265625" y2="17"></line><g class="label" style="" transform="translate(-15.2265625, -12)"><rect></rect><foreignObject width="30.453125" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel markdown-node-label"><p>PDF</p></span></div></foreignObject></g></g><g class="node mindmap-node section-2 " id="mermaid-10-node_17" data-look="classic" transform="translate(355.9383374784727, 219.91436007365428)"><path id="mermaid-10-node_17" class="node-bkg node-0" style="" d="
415
+ M-42.44921875 12
416
+ v-24
417
+ q0,-5 5,-5
418
+ h74.8984375
419
+ q5,0 5,5
420
+ v24
421
+ q0,5 -5,5
422
+ h-74.8984375
423
+ q-5,0 -5,-5
424
+ Z
425
+ "></path><line class="node-line-" x1="-42.44921875" y1="17" x2="42.44921875" y2="17"></line><g class="label" style="" transform="translate(-22.44921875, -12)"><rect></rect><foreignObject width="44.8984375" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel markdown-node-label"><p>HTML</p></span></div></foreignObject></g></g><g class="node mindmap-node section-2 " id="mermaid-10-node_18" data-look="classic" transform="translate(351.86056667110574, 55.98934556517315)"><path id="mermaid-10-node_18" class="node-bkg node-0" style="" d="
426
+ M-44 12
427
+ v-24
428
+ q0,-5 5,-5
429
+ h78
430
+ q5,0 5,5
431
+ v24
432
+ q0,5 -5,5
433
+ h-78
434
+ q-5,0 -5,-5
435
+ Z
436
+ "></path><line class="node-line-" x1="-44" y1="17" x2="44" y2="17"></line><g class="label" style="" transform="translate(-24, -12)"><rect></rect><foreignObject width="48" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel markdown-node-label"><p>幻灯片</p></span></div></foreignObject></g></g><g class="node mindmap-node section-3 " id="mermaid-10-node_19" data-look="classic" transform="translate(605.4053456120846, 119.25898990253654)"><path id="mermaid-10-node_19" class="node-bkg node-0" style="" d="
437
+ M-52 12
438
+ v-24
439
+ q0,-5 5,-5
440
+ h94
441
+ q5,0 5,5
442
+ v24
443
+ q0,5 -5,5
444
+ h-94
445
+ q-5,0 -5,-5
446
+ Z
447
+ "></path><line class="node-line-" x1="-52" y1="17" x2="52" y2="17"></line><g class="label" style="" transform="translate(-32, -12)"><rect></rect><foreignObject width="64" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel markdown-node-label"><p>主题系统</p></span></div></foreignObject></g></g><g class="node mindmap-node section-3 " id="mermaid-10-node_20" data-look="classic" transform="translate(632.5866483317502, 32)"><path id="mermaid-10-node_20" class="node-bkg node-0" style="" d="
448
+ M-37.36328125 12
449
+ v-24
450
+ q0,-5 5,-5
451
+ h64.7265625
452
+ q5,0 5,5
453
+ v24
454
+ q0,5 -5,5
455
+ h-64.7265625
456
+ q-5,0 -5,-5
457
+ Z
458
+ "></path><line class="node-line-" x1="-37.36328125" y1="17" x2="37.36328125" y2="17"></line><g class="label" style="" transform="translate(-17.36328125, -12)"><rect></rect><foreignObject width="34.7265625" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel markdown-node-label"><p>Light</p></span></div></foreignObject></g></g><g class="node mindmap-node section-3 " id="mermaid-10-node_21" data-look="classic" transform="translate(737.776197265197, 168.28631142081315)"><path id="mermaid-10-node_21" class="node-bkg node-0" style="" d="
459
+ M-36.890625 12
460
+ v-24
461
+ q0,-5 5,-5
462
+ h63.78125
463
+ q5,0 5,5
464
+ v24
465
+ q0,5 -5,5
466
+ h-63.78125
467
+ q-5,0 -5,-5
468
+ Z
469
+ "></path><line class="node-line-" x1="-36.890625" y1="17" x2="36.890625" y2="17"></line><g class="label" style="" transform="translate(-16.890625, -12)"><rect></rect><foreignObject width="33.78125" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel markdown-node-label"><p>Dark</p></span></div></foreignObject></g></g><g class="node mindmap-node section-3 " id="mermaid-10-node_22" data-look="classic" transform="translate(759.0723509299373, 75.94094709124295)"><path id="mermaid-10-node_22" class="node-bkg node-0" style="" d="
470
+ M-45.515625 12
471
+ v-24
472
+ q0,-5 5,-5
473
+ h81.03125
474
+ q5,0 5,5
475
+ v24
476
+ q0,5 -5,5
477
+ h-81.03125
478
+ q-5,0 -5,-5
479
+ Z
480
+ "></path><line class="node-line-" x1="-45.515625" y1="17" x2="45.515625" y2="17"></line><g class="label" style="" transform="translate(-25.515625, -12)"><rect></rect><foreignObject width="51.03125" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel markdown-node-label"><p>Elegant</p></span></div></foreignObject></g></g><g class="node mindmap-node section-3 " id="mermaid-10-node_23" data-look="classic" transform="translate(499.48335668323557, 58.46264243962844)"><path id="mermaid-10-node_23" class="node-bkg node-0" style="" d="
481
+ M-53.9765625 12
482
+ v-24
483
+ q0,-5 5,-5
484
+ h97.953125
485
+ q5,0 5,5
486
+ v24
487
+ q0,5 -5,5
488
+ h-97.953125
489
+ q-5,0 -5,-5
490
+ Z
491
+ "></path><line class="node-line-" x1="-53.9765625" y1="17" x2="53.9765625" y2="17"></line><g class="label" style="" transform="translate(-33.9765625, -12)"><rect></rect><foreignObject width="67.953125" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel markdown-node-label"><p>Newsprint</p></span></div></foreignObject></g></g></g></g><defs><filter id="mermaid-10-drop-shadow" height="130%" width="130%"><feDropShadow dx="4" dy="4" stdDeviation="0" flood-opacity="0.06" flood-color="#000000"></feDropShadow></filter></defs><defs><filter id="mermaid-10-drop-shadow-small" height="150%" width="150%"><feDropShadow dx="2" dy="2" stdDeviation="0" flood-opacity="0.06" flood-color="#000000"></feDropShadow></filter></defs></svg></div></div><h3 id="2.11-时间线(timeline)">2.11 时间线(Timeline)</h3><div class="mermaid-block" data-mermaid="timeline
492
+ title ColaMD 版本演进
493
+ 2024 Q1 : v1.0 发布
494
+ : 基础编辑器功能
495
+ 2024 Q2 : v1.2 发布
496
+ : 实时文件热更新
497
+ : 主题系统
498
+ 2024 Q3 : v1.4 发布
499
+ : 幻灯片系统
500
+ 2025 Q1 : v1.5 发布
501
+ : 幻灯片导出
502
+ 2026 Q1 : v2.0 发布
503
+ : 显示插件系统
504
+ : Math + Mermaid" contenteditable="false"><div class="mermaid-preview"><svg id="mermaid-11" width="100%" xmlns="http://www.w3.org/2000/svg" style="max-width: 1390px;" viewBox="100 -60 1390 600.7999877929688" role="graphics-document document" aria-roledescription="timeline"><style>#mermaid-11{font-family:"LXGW WenKai","Noto Serif SC","Source Han Serif SC","Songti SC",Georgia,serif;font-size:16px;fill:#3d3530;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-11 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-11 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-11 .error-icon{fill:#552222;}#mermaid-11 .error-text{fill:#552222;stroke:#552222;}#mermaid-11 .edge-thickness-normal{stroke-width:1px;}#mermaid-11 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-11 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-11 .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-11 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-11 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-11 .marker{fill:#b0a89f;stroke:#b0a89f;}#mermaid-11 .marker.cross{stroke:#b0a89f;}#mermaid-11 svg{font-family:"LXGW WenKai","Noto Serif SC","Source Han Serif SC","Songti SC",Georgia,serif;font-size:16px;}#mermaid-11 p{margin:0;}#mermaid-11 .edge{stroke-width:3;}#mermaid-11 .section--1 rect,#mermaid-11 .section--1 path,#mermaid-11 .section--1 circle,#mermaid-11 .section--1 path{fill:#e8a898;}#mermaid-11 .section--1 text{fill:#c2cacf;}#mermaid-11 .node-icon--1{font-size:40px;color:#c2cacf;}#mermaid-11 .section-edge--1{stroke:#e8a898;}#mermaid-11 .edge-depth--1{stroke-width:17;}#mermaid-11 .section--1 line{stroke:hsl(60, 100%, 86.2745098039%);stroke-width:3;}#mermaid-11 .lineWrapper line{stroke:#c2cacf;}#mermaid-11 .disabled,#mermaid-11 .disabled circle,#mermaid-11 .disabled text{fill:#e8e2db;}#mermaid-11 .disabled text{fill:#b0a89f;}#mermaid-11 .section-0 rect,#mermaid-11 .section-0 path,#mermaid-11 .section-0 circle,#mermaid-11 .section-0 path{fill:#c4b8a8;}#mermaid-11 .section-0 text{fill:#3d3530;}#mermaid-11 .node-icon-0{font-size:40px;color:#3d3530;}#mermaid-11 .section-edge-0{stroke:#c4b8a8;}#mermaid-11 .edge-depth-0{stroke-width:14;}#mermaid-11 .section-0 line{stroke:hsl(240, 100%, 83.5294117647%);stroke-width:3;}#mermaid-11 .lineWrapper line{stroke:#3d3530;}#mermaid-11 .disabled,#mermaid-11 .disabled circle,#mermaid-11 .disabled text{fill:#e8e2db;}#mermaid-11 .disabled text{fill:#b0a89f;}#mermaid-11 .section-1 rect,#mermaid-11 .section-1 path,#mermaid-11 .section-1 circle,#mermaid-11 .section-1 path{fill:#a8c4b8;}#mermaid-11 .section-1 text{fill:#3d3530;}#mermaid-11 .node-icon-1{font-size:40px;color:#3d3530;}#mermaid-11 .section-edge-1{stroke:#a8c4b8;}#mermaid-11 .edge-depth-1{stroke-width:11;}#mermaid-11 .section-1 line{stroke:hsl(260, 100%, 86.2745098039%);stroke-width:3;}#mermaid-11 .lineWrapper line{stroke:#3d3530;}#mermaid-11 .disabled,#mermaid-11 .disabled circle,#mermaid-11 .disabled text{fill:#e8e2db;}#mermaid-11 .disabled text{fill:#b0a89f;}#mermaid-11 .section-2 rect,#mermaid-11 .section-2 path,#mermaid-11 .section-2 circle,#mermaid-11 .section-2 path{fill:#c8b098;}#mermaid-11 .section-2 text{fill:#c2cacf;}#mermaid-11 .node-icon-2{font-size:40px;color:#c2cacf;}#mermaid-11 .section-edge-2{stroke:#c8b098;}#mermaid-11 .edge-depth-2{stroke-width:8;}#mermaid-11 .section-2 line{stroke:hsl(90, 100%, 86.2745098039%);stroke-width:3;}#mermaid-11 .lineWrapper line{stroke:#c2cacf;}#mermaid-11 .disabled,#mermaid-11 .disabled circle,#mermaid-11 .disabled text{fill:#e8e2db;}#mermaid-11 .disabled text{fill:#b0a89f;}#mermaid-11 .section-3 rect,#mermaid-11 .section-3 path,#mermaid-11 .section-3 circle,#mermaid-11 .section-3 path{fill:#b8a8c4;}#mermaid-11 .section-3 text{fill:#3d3530;}#mermaid-11 .node-icon-3{font-size:40px;color:#3d3530;}#mermaid-11 .section-edge-3{stroke:#b8a8c4;}#mermaid-11 .edge-depth-3{stroke-width:5;}#mermaid-11 .section-3 line{stroke:hsl(120, 100%, 86.2745098039%);stroke-width:3;}#mermaid-11 .lineWrapper line{stroke:#3d3530;}#mermaid-11 .disabled,#mermaid-11 .disabled circle,#mermaid-11 .disabled text{fill:#e8e2db;}#mermaid-11 .disabled text{fill:#b0a89f;}#mermaid-11 .section-4 rect,#mermaid-11 .section-4 path,#mermaid-11 .section-4 circle,#mermaid-11 .section-4 path{fill:#98c4b0;}#mermaid-11 .section-4 text{fill:#3d3530;}#mermaid-11 .node-icon-4{font-size:40px;color:#3d3530;}#mermaid-11 .section-edge-4{stroke:#98c4b0;}#mermaid-11 .edge-depth-4{stroke-width:2;}#mermaid-11 .section-4 line{stroke:hsl(150, 100%, 86.2745098039%);stroke-width:3;}#mermaid-11 .lineWrapper line{stroke:#3d3530;}#mermaid-11 .disabled,#mermaid-11 .disabled circle,#mermaid-11 .disabled text{fill:#e8e2db;}#mermaid-11 .disabled text{fill:#b0a89f;}#mermaid-11 .section-5 rect,#mermaid-11 .section-5 path,#mermaid-11 .section-5 circle,#mermaid-11 .section-5 path{fill:#d4a888;}#mermaid-11 .section-5 text{fill:#3d3530;}#mermaid-11 .node-icon-5{font-size:40px;color:#3d3530;}#mermaid-11 .section-edge-5{stroke:#d4a888;}#mermaid-11 .edge-depth-5{stroke-width:-1;}#mermaid-11 .section-5 line{stroke:hsl(180, 100%, 86.2745098039%);stroke-width:3;}#mermaid-11 .lineWrapper line{stroke:#3d3530;}#mermaid-11 .disabled,#mermaid-11 .disabled circle,#mermaid-11 .disabled text{fill:#e8e2db;}#mermaid-11 .disabled text{fill:#b0a89f;}#mermaid-11 .section-6 rect,#mermaid-11 .section-6 path,#mermaid-11 .section-6 circle,#mermaid-11 .section-6 path{fill:#a8b8c8;}#mermaid-11 .section-6 text{fill:#3d3530;}#mermaid-11 .node-icon-6{font-size:40px;color:#3d3530;}#mermaid-11 .section-edge-6{stroke:#a8b8c8;}#mermaid-11 .edge-depth-6{stroke-width:-4;}#mermaid-11 .section-6 line{stroke:hsl(210, 100%, 86.2745098039%);stroke-width:3;}#mermaid-11 .lineWrapper line{stroke:#3d3530;}#mermaid-11 .disabled,#mermaid-11 .disabled circle,#mermaid-11 .disabled text{fill:#e8e2db;}#mermaid-11 .disabled text{fill:#b0a89f;}#mermaid-11 .section-7 rect,#mermaid-11 .section-7 path,#mermaid-11 .section-7 circle,#mermaid-11 .section-7 path{fill:#c4a898;}#mermaid-11 .section-7 text{fill:#3d3530;}#mermaid-11 .node-icon-7{font-size:40px;color:#3d3530;}#mermaid-11 .section-edge-7{stroke:#c4a898;}#mermaid-11 .edge-depth-7{stroke-width:-7;}#mermaid-11 .section-7 line{stroke:hsl(270, 100%, 86.2745098039%);stroke-width:3;}#mermaid-11 .lineWrapper line{stroke:#3d3530;}#mermaid-11 .disabled,#mermaid-11 .disabled circle,#mermaid-11 .disabled text{fill:#e8e2db;}#mermaid-11 .disabled text{fill:#b0a89f;}#mermaid-11 .section-8 rect,#mermaid-11 .section-8 path,#mermaid-11 .section-8 circle,#mermaid-11 .section-8 path{fill:#98b8a8;}#mermaid-11 .section-8 text{fill:#3d3530;}#mermaid-11 .node-icon-8{font-size:40px;color:#3d3530;}#mermaid-11 .section-edge-8{stroke:#98b8a8;}#mermaid-11 .edge-depth-8{stroke-width:-10;}#mermaid-11 .section-8 line{stroke:hsl(330, 100%, 86.2745098039%);stroke-width:3;}#mermaid-11 .lineWrapper line{stroke:#3d3530;}#mermaid-11 .disabled,#mermaid-11 .disabled circle,#mermaid-11 .disabled text{fill:#e8e2db;}#mermaid-11 .disabled text{fill:#b0a89f;}#mermaid-11 .section-9 rect,#mermaid-11 .section-9 path,#mermaid-11 .section-9 circle,#mermaid-11 .section-9 path{fill:#b8c4a8;}#mermaid-11 .section-9 text{fill:#3d3530;}#mermaid-11 .node-icon-9{font-size:40px;color:#3d3530;}#mermaid-11 .section-edge-9{stroke:#b8c4a8;}#mermaid-11 .edge-depth-9{stroke-width:-13;}#mermaid-11 .section-9 line{stroke:hsl(0, 100%, 86.2745098039%);stroke-width:3;}#mermaid-11 .lineWrapper line{stroke:#3d3530;}#mermaid-11 .disabled,#mermaid-11 .disabled circle,#mermaid-11 .disabled text{fill:#e8e2db;}#mermaid-11 .disabled text{fill:#b0a89f;}#mermaid-11 .section-10 rect,#mermaid-11 .section-10 path,#mermaid-11 .section-10 circle,#mermaid-11 .section-10 path{fill:#a898b8;}#mermaid-11 .section-10 text{fill:#3d3530;}#mermaid-11 .node-icon-10{font-size:40px;color:#3d3530;}#mermaid-11 .section-edge-10{stroke:#a898b8;}#mermaid-11 .edge-depth-10{stroke-width:-16;}#mermaid-11 .section-10 line{stroke:hsl(30, 100%, 86.2745098039%);stroke-width:3;}#mermaid-11 .lineWrapper line{stroke:#3d3530;}#mermaid-11 .disabled,#mermaid-11 .disabled circle,#mermaid-11 .disabled text{fill:#e8e2db;}#mermaid-11 .disabled text{fill:#b0a89f;}#mermaid-11 .section-root rect,#mermaid-11 .section-root path,#mermaid-11 .section-root circle{fill:hsl(240, 100%, 96.2745098039%);}#mermaid-11 .section-root text{fill:#ffffff;}#mermaid-11 .icon-container{height:100%;display:flex;justify-content:center;align-items:center;}#mermaid-11 .edge{fill:none;}#mermaid-11 .eventWrapper{filter:brightness(120%);}#mermaid-11 .node .neo-node{stroke:#b0a89f;}#mermaid-11 [data-look="neo"].node rect,#mermaid-11 [data-look="neo"].cluster rect,#mermaid-11 [data-look="neo"].node polygon{stroke:#b0a89f;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-11 [data-look="neo"].node path{stroke:#b0a89f;stroke-width:1px;}#mermaid-11 [data-look="neo"].node .outer-path{filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-11 [data-look="neo"].node .neo-line path{stroke:#b0a89f;filter:none;}#mermaid-11 [data-look="neo"].node circle{stroke:#b0a89f;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-11 [data-look="neo"].node circle .state-start{fill:#000000;}#mermaid-11 [data-look="neo"].icon-shape .icon{fill:#b0a89f;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-11 [data-look="neo"].icon-shape .icon-neo path{stroke:#b0a89f;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-11 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}</style><g></g><g></g><defs><marker id="mermaid-11-arrowhead" refX="5" refY="2" markerWidth="6" markerHeight="4" orient="auto"><path d="M 0,0 V 4 L6,2 Z"></path></marker></defs><g class="taskWrapper" transform="translate(200, 50)"><g class="timeline-node section--1"><g><path id="mermaid-11-node-0" class="node-bkg node-undefined" d="M0 65.2 v-60.2 q0,-5,5,-5 h180 q5,0,5,5 v65.2 H0 Z"></path><line class="node-line--1" x1="0" y1="70.2" x2="190" y2="70.2"></line></g><g transform="translate(95, 10)"><text dy="1em" alignment-baseline="middle" dominant-baseline="middle" text-anchor="middle"><tspan x="0" dy="1em">2024 Q1</tspan></text></g></g></g><g class="lineWrapper"><line x1="295" y1="120.2" x2="295" y2="490.8" stroke-width="2" stroke="black" marker-end="url(#mermaid-11-arrowhead)" stroke-dasharray="5,5"></line></g><g class="eventWrapper" transform="translate(200, 250)"><g class="timeline-node section--1"><g><path id="mermaid-11-node-1" class="node-bkg node-undefined" d="M0 45.2 v-40.2 q0,-5,5,-5 h180 q5,0,5,5 v45.2 H0 Z"></path><line class="node-line--1" x1="0" y1="50.2" x2="190" y2="50.2"></line></g><g transform="translate(95, 10)"><text dy="1em" alignment-baseline="middle" dominant-baseline="middle" text-anchor="middle"><tspan x="0" dy="1em">v1.0 发布</tspan></text></g></g></g><g class="eventWrapper" transform="translate(200, 310.2)"><g class="timeline-node section--1"><g><path id="mermaid-11-node-2" class="node-bkg node-undefined" d="M0 45.2 v-40.2 q0,-5,5,-5 h180 q5,0,5,5 v45.2 H0 Z"></path><line class="node-line--1" x1="0" y1="50.2" x2="190" y2="50.2"></line></g><g transform="translate(95, 10)"><text dy="1em" alignment-baseline="middle" dominant-baseline="middle" text-anchor="middle"><tspan x="0" dy="1em">基础编辑器功能</tspan></text></g></g></g><g class="taskWrapper" transform="translate(400, 50)"><g class="timeline-node section-0"><g><path id="mermaid-11-node-3" class="node-bkg node-undefined" d="M0 65.2 v-60.2 q0,-5,5,-5 h180 q5,0,5,5 v65.2 H0 Z"></path><line class="node-line-0" x1="0" y1="70.2" x2="190" y2="70.2"></line></g><g transform="translate(95, 10)"><text dy="1em" alignment-baseline="middle" dominant-baseline="middle" text-anchor="middle"><tspan x="0" dy="1em">2024 Q2</tspan></text></g></g></g><g class="lineWrapper"><line x1="495" y1="120.2" x2="495" y2="490.8" stroke-width="2" stroke="black" marker-end="url(#mermaid-11-arrowhead)" stroke-dasharray="5,5"></line></g><g class="eventWrapper" transform="translate(400, 250)"><g class="timeline-node section-0"><g><path id="mermaid-11-node-4" class="node-bkg node-undefined" d="M0 45.2 v-40.2 q0,-5,5,-5 h180 q5,0,5,5 v45.2 H0 Z"></path><line class="node-line-0" x1="0" y1="50.2" x2="190" y2="50.2"></line></g><g transform="translate(95, 10)"><text dy="1em" alignment-baseline="middle" dominant-baseline="middle" text-anchor="middle"><tspan x="0" dy="1em">v1.2 发布</tspan></text></g></g></g><g class="eventWrapper" transform="translate(400, 310.2)"><g class="timeline-node section-0"><g><path id="mermaid-11-node-5" class="node-bkg node-undefined" d="M0 45.2 v-40.2 q0,-5,5,-5 h180 q5,0,5,5 v45.2 H0 Z"></path><line class="node-line-0" x1="0" y1="50.2" x2="190" y2="50.2"></line></g><g transform="translate(95, 10)"><text dy="1em" alignment-baseline="middle" dominant-baseline="middle" text-anchor="middle"><tspan x="0" dy="1em">实时文件热更新</tspan></text></g></g></g><g class="eventWrapper" transform="translate(400, 370.4)"><g class="timeline-node section-0"><g><path id="mermaid-11-node-6" class="node-bkg node-undefined" d="M0 45.2 v-40.2 q0,-5,5,-5 h180 q5,0,5,5 v45.2 H0 Z"></path><line class="node-line-0" x1="0" y1="50.2" x2="190" y2="50.2"></line></g><g transform="translate(95, 10)"><text dy="1em" alignment-baseline="middle" dominant-baseline="middle" text-anchor="middle"><tspan x="0" dy="1em">主题系统</tspan></text></g></g></g><g class="taskWrapper" transform="translate(600, 50)"><g class="timeline-node section-1"><g><path id="mermaid-11-node-7" class="node-bkg node-undefined" d="M0 65.2 v-60.2 q0,-5,5,-5 h180 q5,0,5,5 v65.2 H0 Z"></path><line class="node-line-1" x1="0" y1="70.2" x2="190" y2="70.2"></line></g><g transform="translate(95, 10)"><text dy="1em" alignment-baseline="middle" dominant-baseline="middle" text-anchor="middle"><tspan x="0" dy="1em">2024 Q3</tspan></text></g></g></g><g class="lineWrapper"><line x1="695" y1="120.2" x2="695" y2="490.8" stroke-width="2" stroke="black" marker-end="url(#mermaid-11-arrowhead)" stroke-dasharray="5,5"></line></g><g class="eventWrapper" transform="translate(600, 250)"><g class="timeline-node section-1"><g><path id="mermaid-11-node-8" class="node-bkg node-undefined" d="M0 45.2 v-40.2 q0,-5,5,-5 h180 q5,0,5,5 v45.2 H0 Z"></path><line class="node-line-1" x1="0" y1="50.2" x2="190" y2="50.2"></line></g><g transform="translate(95, 10)"><text dy="1em" alignment-baseline="middle" dominant-baseline="middle" text-anchor="middle"><tspan x="0" dy="1em">v1.4 发布</tspan></text></g></g></g><g class="eventWrapper" transform="translate(600, 310.2)"><g class="timeline-node section-1"><g><path id="mermaid-11-node-9" class="node-bkg node-undefined" d="M0 45.2 v-40.2 q0,-5,5,-5 h180 q5,0,5,5 v45.2 H0 Z"></path><line class="node-line-1" x1="0" y1="50.2" x2="190" y2="50.2"></line></g><g transform="translate(95, 10)"><text dy="1em" alignment-baseline="middle" dominant-baseline="middle" text-anchor="middle"><tspan x="0" dy="1em">幻灯片系统</tspan></text></g></g></g><g class="taskWrapper" transform="translate(800, 50)"><g class="timeline-node section-2"><g><path id="mermaid-11-node-10" class="node-bkg node-undefined" d="M0 65.2 v-60.2 q0,-5,5,-5 h180 q5,0,5,5 v65.2 H0 Z"></path><line class="node-line-2" x1="0" y1="70.2" x2="190" y2="70.2"></line></g><g transform="translate(95, 10)"><text dy="1em" alignment-baseline="middle" dominant-baseline="middle" text-anchor="middle"><tspan x="0" dy="1em">2025 Q1</tspan></text></g></g></g><g class="lineWrapper"><line x1="895" y1="120.2" x2="895" y2="490.8" stroke-width="2" stroke="black" marker-end="url(#mermaid-11-arrowhead)" stroke-dasharray="5,5"></line></g><g class="eventWrapper" transform="translate(800, 250)"><g class="timeline-node section-2"><g><path id="mermaid-11-node-11" class="node-bkg node-undefined" d="M0 45.2 v-40.2 q0,-5,5,-5 h180 q5,0,5,5 v45.2 H0 Z"></path><line class="node-line-2" x1="0" y1="50.2" x2="190" y2="50.2"></line></g><g transform="translate(95, 10)"><text dy="1em" alignment-baseline="middle" dominant-baseline="middle" text-anchor="middle"><tspan x="0" dy="1em">v1.5 发布</tspan></text></g></g></g><g class="eventWrapper" transform="translate(800, 310.2)"><g class="timeline-node section-2"><g><path id="mermaid-11-node-12" class="node-bkg node-undefined" d="M0 45.2 v-40.2 q0,-5,5,-5 h180 q5,0,5,5 v45.2 H0 Z"></path><line class="node-line-2" x1="0" y1="50.2" x2="190" y2="50.2"></line></g><g transform="translate(95, 10)"><text dy="1em" alignment-baseline="middle" dominant-baseline="middle" text-anchor="middle"><tspan x="0" dy="1em">幻灯片导出</tspan></text></g></g></g><g class="taskWrapper" transform="translate(1000, 50)"><g class="timeline-node section-3"><g><path id="mermaid-11-node-13" class="node-bkg node-undefined" d="M0 65.2 v-60.2 q0,-5,5,-5 h180 q5,0,5,5 v65.2 H0 Z"></path><line class="node-line-3" x1="0" y1="70.2" x2="190" y2="70.2"></line></g><g transform="translate(95, 10)"><text dy="1em" alignment-baseline="middle" dominant-baseline="middle" text-anchor="middle"><tspan x="0" dy="1em">2026 Q1</tspan></text></g></g></g><g class="lineWrapper"><line x1="1095" y1="120.2" x2="1095" y2="490.8" stroke-width="2" stroke="black" marker-end="url(#mermaid-11-arrowhead)" stroke-dasharray="5,5"></line></g><g class="eventWrapper" transform="translate(1000, 250)"><g class="timeline-node section-3"><g><path id="mermaid-11-node-14" class="node-bkg node-undefined" d="M0 45.2 v-40.2 q0,-5,5,-5 h180 q5,0,5,5 v45.2 H0 Z"></path><line class="node-line-3" x1="0" y1="50.2" x2="190" y2="50.2"></line></g><g transform="translate(95, 10)"><text dy="1em" alignment-baseline="middle" dominant-baseline="middle" text-anchor="middle"><tspan x="0" dy="1em">v2.0 发布</tspan></text></g></g></g><g class="eventWrapper" transform="translate(1000, 310.2)"><g class="timeline-node section-3"><g><path id="mermaid-11-node-15" class="node-bkg node-undefined" d="M0 45.2 v-40.2 q0,-5,5,-5 h180 q5,0,5,5 v45.2 H0 Z"></path><line class="node-line-3" x1="0" y1="50.2" x2="190" y2="50.2"></line></g><g transform="translate(95, 10)"><text dy="1em" alignment-baseline="middle" dominant-baseline="middle" text-anchor="middle"><tspan x="0" dy="1em">显示插件系统</tspan></text></g></g></g><g class="eventWrapper" transform="translate(1000, 370.4)"><g class="timeline-node section-3"><g><path id="mermaid-11-node-16" class="node-bkg node-undefined" d="M0 45.2 v-40.2 q0,-5,5,-5 h180 q5,0,5,5 v45.2 H0 Z"></path><line class="node-line-3" x1="0" y1="50.2" x2="190" y2="50.2"></line></g><g transform="translate(95, 10)"><text dy="1em" alignment-baseline="middle" dominant-baseline="middle" text-anchor="middle"><tspan x="0" dy="1em">Math + Mermaid</tspan></text></g></g></g><text x="345" font-size="4ex" font-weight="bold" y="20">ColaMD 版本演进</text><g class="lineWrapper"><line x1="150" y1="170.2" x2="1440" y2="170.2" stroke-width="4" stroke="black" marker-end="url(#mermaid-11-arrowhead)"></line></g></svg></div></div><h3 id="2.12-四象限图(quadrant-chart)">2.12 四象限图(Quadrant Chart)</h3><div class="mermaid-block" data-mermaid="quadrantChart
505
+ title 编辑器功能优先级矩阵
506
+ x-axis 低影响 --> 高影响
507
+ y-axis 低紧迫性 --> 高紧迫性
508
+ quadrant-1 立即实施
509
+ quadrant-2 计划实施
510
+ quadrant-3 低优先级
511
+ quadrant-4 考虑放弃
512
+
513
+ &quot;实时同步&quot;: [0.9, 0.95]
514
+ &quot;Math 公式&quot;: [0.85, 0.8]
515
+ &quot;Mermaid 图表&quot;: [0.8, 0.75]
516
+ &quot;主题系统&quot;: [0.6, 0.5]
517
+ &quot;云同步&quot;: [0.4, 0.3]
518
+ &quot;协作编辑&quot;: [0.3, 0.2]" contenteditable="false"><div class="mermaid-preview"><svg id="mermaid-12" width="100%" xmlns="http://www.w3.org/2000/svg" style="max-width: 500px;" viewBox="0 0 500 500" role="graphics-document document" aria-roledescription="quadrantChart"><style>#mermaid-12{font-family:"LXGW WenKai","Noto Serif SC","Source Han Serif SC","Songti SC",Georgia,serif;font-size:16px;fill:#3d3530;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-12 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-12 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-12 .error-icon{fill:#552222;}#mermaid-12 .error-text{fill:#552222;stroke:#552222;}#mermaid-12 .edge-thickness-normal{stroke-width:1px;}#mermaid-12 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-12 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-12 .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-12 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-12 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-12 .marker{fill:#b0a89f;stroke:#b0a89f;}#mermaid-12 .marker.cross{stroke:#b0a89f;}#mermaid-12 svg{font-family:"LXGW WenKai","Noto Serif SC","Source Han Serif SC","Songti SC",Georgia,serif;font-size:16px;}#mermaid-12 p{margin:0;}#mermaid-12 .node .neo-node{stroke:#b0a89f;}#mermaid-12 [data-look="neo"].node rect,#mermaid-12 [data-look="neo"].cluster rect,#mermaid-12 [data-look="neo"].node polygon{stroke:#b0a89f;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-12 [data-look="neo"].node path{stroke:#b0a89f;stroke-width:1px;}#mermaid-12 [data-look="neo"].node .outer-path{filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-12 [data-look="neo"].node .neo-line path{stroke:#b0a89f;filter:none;}#mermaid-12 [data-look="neo"].node circle{stroke:#b0a89f;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-12 [data-look="neo"].node circle .state-start{fill:#000000;}#mermaid-12 [data-look="neo"].icon-shape .icon{fill:#b0a89f;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-12 [data-look="neo"].icon-shape .icon-neo path{stroke:#b0a89f;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-12 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}</style><g></g><g class="main"><g class="quadrants"><g class="quadrant"><rect x="263" y="45" width="232" height="212" fill="#ECECFF"></rect><text x="0" y="0" fill="#131300" font-size="16" dominant-baseline="hanging" text-anchor="middle" transform="translate(379, 50) rotate(0)">立即实施</text></g><g class="quadrant"><rect x="31" y="45" width="232" height="212" fill="#f1f1ff"></rect><text x="0" y="0" fill="#0e0e00" font-size="16" dominant-baseline="hanging" text-anchor="middle" transform="translate(147, 50) rotate(0)">计划实施</text></g><g class="quadrant"><rect x="31" y="257" width="232" height="212" fill="#f6f6ff"></rect><text x="0" y="0" fill="#090900" font-size="16" dominant-baseline="hanging" text-anchor="middle" transform="translate(147, 262) rotate(0)">低优先级</text></g><g class="quadrant"><rect x="263" y="257" width="232" height="212" fill="#fbfbff"></rect><text x="0" y="0" fill="#040400" font-size="16" dominant-baseline="hanging" text-anchor="middle" transform="translate(379, 262) rotate(0)">考虑放弃</text></g></g><g class="border"><line x1="30" y1="45" x2="496" y2="45" style="stroke: rgb(199, 199, 241); stroke-width: 2;"></line><line x1="495" y1="46" x2="495" y2="468" style="stroke: rgb(199, 199, 241); stroke-width: 2;"></line><line x1="30" y1="469" x2="496" y2="469" style="stroke: rgb(199, 199, 241); stroke-width: 2;"></line><line x1="31" y1="46" x2="31" y2="468" style="stroke: rgb(199, 199, 241); stroke-width: 2;"></line><line x1="263" y1="46" x2="263" y2="468" style="stroke: rgb(199, 199, 241); stroke-width: 1;"></line><line x1="32" y1="257" x2="494" y2="257" style="stroke: rgb(199, 199, 241); stroke-width: 1;"></line></g><g class="data-points"><g class="data-point"><circle cx="170.2" cy="384.20000000000005" r="5" fill="hsl(240, 100%, NaN%)" stroke="hsl(240, 100%, NaN%)" stroke-width="0px"></circle><text x="0" y="0" fill="#131300" font-size="12" dominant-baseline="hanging" text-anchor="middle" transform="translate(170.2, 389.20000000000005) rotate(0)">协作编辑</text></g><g class="data-point"><circle cx="216.6" cy="341.79999999999995" r="5" fill="hsl(240, 100%, NaN%)" stroke="hsl(240, 100%, NaN%)" stroke-width="0px"></circle><text x="0" y="0" fill="#131300" font-size="12" dominant-baseline="hanging" text-anchor="middle" transform="translate(216.6, 346.79999999999995) rotate(0)">云同步</text></g><g class="data-point"><circle cx="309.4" cy="257" r="5" fill="hsl(240, 100%, NaN%)" stroke="hsl(240, 100%, NaN%)" stroke-width="0px"></circle><text x="0" y="0" fill="#131300" font-size="12" dominant-baseline="hanging" text-anchor="middle" transform="translate(309.4, 262) rotate(0)">主题系统</text></g><g class="data-point"><circle cx="402.2" cy="151" r="5" fill="hsl(240, 100%, NaN%)" stroke="hsl(240, 100%, NaN%)" stroke-width="0px"></circle><text x="0" y="0" fill="#131300" font-size="12" dominant-baseline="hanging" text-anchor="middle" transform="translate(402.2, 156) rotate(0)">Mermaid 图表</text></g><g class="data-point"><circle cx="425.4" cy="129.79999999999998" r="5" fill="hsl(240, 100%, NaN%)" stroke="hsl(240, 100%, NaN%)" stroke-width="0px"></circle><text x="0" y="0" fill="#131300" font-size="12" dominant-baseline="hanging" text-anchor="middle" transform="translate(425.4, 134.79999999999998) rotate(0)">Math 公式</text></g><g class="data-point"><circle cx="448.6" cy="66.20000000000002" r="5" fill="hsl(240, 100%, NaN%)" stroke="hsl(240, 100%, NaN%)" stroke-width="0px"></circle><text x="0" y="0" fill="#131300" font-size="12" dominant-baseline="hanging" text-anchor="middle" transform="translate(448.6, 71.20000000000002) rotate(0)">实时同步</text></g></g><g class="labels"><g class="label"><text x="0" y="0" fill="#131300" font-size="16" dominant-baseline="hanging" text-anchor="middle" transform="translate(147, 479) rotate(0)">低影响</text></g><g class="label"><text x="0" y="0" fill="#131300" font-size="16" dominant-baseline="hanging" text-anchor="middle" transform="translate(379, 479) rotate(0)">高影响</text></g><g class="label"><text x="0" y="0" fill="#131300" font-size="16" dominant-baseline="hanging" text-anchor="middle" transform="translate(5, 363) rotate(-90)">低紧迫性</text></g><g class="label"><text x="0" y="0" fill="#131300" font-size="16" dominant-baseline="hanging" text-anchor="middle" transform="translate(5, 151) rotate(-90)">高紧迫性</text></g></g><g class="title"><text x="0" y="0" fill="#131300" font-size="20" dominant-baseline="hanging" text-anchor="middle" transform="translate(250, 10) rotate(0)">编辑器功能优先级矩阵</text></g></g></svg></div></div><h3 id="2.13-xy-图表-/-柱状图(xy-chart)">2.13 XY 图表 / 柱状图(XY Chart)</h3><div class="mermaid-block" data-mermaid="xychart-beta
519
+ title &quot;ColaMD 月活跃用户增长&quot;
520
+ x-axis [&quot;1月&quot;, &quot;2月&quot;, &quot;3月&quot;, &quot;4月&quot;, &quot;5月&quot;, &quot;6月&quot;]
521
+ y-axis &quot;用户数 (千)&quot; 0 --> 50
522
+ bar [12, 18, 25, 32, 40, 48]
523
+ line [12, 18, 25, 32, 40, 48]" contenteditable="false"><div class="mermaid-preview"><svg id="mermaid-13" width="100%" xmlns="http://www.w3.org/2000/svg" style="max-width: 700px;" viewBox="0 0 700 500" role="graphics-document document" aria-roledescription="xychart"><style>#mermaid-13{font-family:"LXGW WenKai","Noto Serif SC","Source Han Serif SC","Songti SC",Georgia,serif;font-size:16px;fill:#3d3530;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-13 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-13 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-13 .error-icon{fill:#552222;}#mermaid-13 .error-text{fill:#552222;stroke:#552222;}#mermaid-13 .edge-thickness-normal{stroke-width:1px;}#mermaid-13 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-13 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-13 .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-13 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-13 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-13 .marker{fill:#b0a89f;stroke:#b0a89f;}#mermaid-13 .marker.cross{stroke:#b0a89f;}#mermaid-13 svg{font-family:"LXGW WenKai","Noto Serif SC","Source Han Serif SC","Songti SC",Georgia,serif;font-size:16px;}#mermaid-13 p{margin:0;}#mermaid-13 .node .neo-node{stroke:#b0a89f;}#mermaid-13 [data-look="neo"].node rect,#mermaid-13 [data-look="neo"].cluster rect,#mermaid-13 [data-look="neo"].node polygon{stroke:#b0a89f;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-13 [data-look="neo"].node path{stroke:#b0a89f;stroke-width:1px;}#mermaid-13 [data-look="neo"].node .outer-path{filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-13 [data-look="neo"].node .neo-line path{stroke:#b0a89f;filter:none;}#mermaid-13 [data-look="neo"].node circle{stroke:#b0a89f;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-13 [data-look="neo"].node circle .state-start{fill:#000000;}#mermaid-13 [data-look="neo"].icon-shape .icon{fill:#b0a89f;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-13 [data-look="neo"].icon-shape .icon-neo path{stroke:#b0a89f;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-13 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}</style><g></g><g class="main"><rect width="700" height="500" class="background" fill="white"></rect><g class="chart-title"><text x="0" y="0" fill="#131300" font-size="20" dominant-baseline="middle" text-anchor="middle" transform="translate(350, 24) rotate(0)">ColaMD 月活跃用户增长</text></g><g class="plot"><g class="bar-plot-0"><rect x="64.3828125" y="358.20000000000005" width="66.5" height="104.79999999999995" fill="#ECECFF" stroke="#ECECFF" stroke-width="0"></rect><rect x="177.85625" y="310.8" width="66.5" height="152.2" fill="#ECECFF" stroke="#ECECFF" stroke-width="0"></rect><rect x="291.3296875" y="255.5" width="66.5" height="207.5" fill="#ECECFF" stroke="#ECECFF" stroke-width="0"></rect><rect x="404.803125" y="200.2" width="66.5" height="262.8" fill="#ECECFF" stroke="#ECECFF" stroke-width="0"></rect><rect x="518.2765625" y="137" width="66.5" height="326" fill="#ECECFF" stroke="#ECECFF" stroke-width="0"></rect><rect x="631.75" y="73.80000000000001" width="66.5" height="389.2" fill="#ECECFF" stroke="#ECECFF" stroke-width="0"></rect></g><g class="line-plot-1"><path d="M97.633,358.2L211.106,310.8L324.58,255.5L438.053,200.2L551.527,137L665,73.8" fill="none" stroke="#8493A6" stroke-width="2"></path></g></g><g class="bottom-axis"><g class="axis-line"><path d="M 62.6328125,464 L 700,464" fill="none" stroke="#131300" stroke-width="2"></path></g><g class="label"><text x="0" y="0" fill="#131300" font-size="14" dominant-baseline="text-before-edge" text-anchor="middle" transform="translate(97.6328125, 475) rotate(0)">1月</text><text x="0" y="0" fill="#131300" font-size="14" dominant-baseline="text-before-edge" text-anchor="middle" transform="translate(211.10625, 475) rotate(0)">2月</text><text x="0" y="0" fill="#131300" font-size="14" dominant-baseline="text-before-edge" text-anchor="middle" transform="translate(324.5796875, 475) rotate(0)">3月</text><text x="0" y="0" fill="#131300" font-size="14" dominant-baseline="text-before-edge" text-anchor="middle" transform="translate(438.053125, 475) rotate(0)">4月</text><text x="0" y="0" fill="#131300" font-size="14" dominant-baseline="text-before-edge" text-anchor="middle" transform="translate(551.5265625, 475) rotate(0)">5月</text><text x="0" y="0" fill="#131300" font-size="14" dominant-baseline="text-before-edge" text-anchor="middle" transform="translate(665, 475) rotate(0)">6月</text></g><g class="ticks"><path d="M 97.6328125,465 L 97.6328125,470" fill="none" stroke="#131300" stroke-width="2"></path><path d="M 211.10625,465 L 211.10625,470" fill="none" stroke="#131300" stroke-width="2"></path><path d="M 324.5796875,465 L 324.5796875,470" fill="none" stroke="#131300" stroke-width="2"></path><path d="M 438.053125,465 L 438.053125,470" fill="none" stroke="#131300" stroke-width="2"></path><path d="M 551.5265625,465 L 551.5265625,470" fill="none" stroke="#131300" stroke-width="2"></path><path d="M 665,465 L 665,470" fill="none" stroke="#131300" stroke-width="2"></path></g></g><g class="left-axis"><g class="axisl-line"><path d="M 61.6328125,48 L 61.6328125,463 " fill="none" stroke="#131300" stroke-width="2"></path></g><g class="label"><text x="0" y="0" fill="#131300" font-size="14" dominant-baseline="middle" text-anchor="end" transform="translate(50.6328125, 58) rotate(0)">50</text><text x="0" y="0" fill="#131300" font-size="14" dominant-baseline="middle" text-anchor="end" transform="translate(50.6328125, 97.5) rotate(0)">45</text><text x="0" y="0" fill="#131300" font-size="14" dominant-baseline="middle" text-anchor="end" transform="translate(50.6328125, 137) rotate(0)">40</text><text x="0" y="0" fill="#131300" font-size="14" dominant-baseline="middle" text-anchor="end" transform="translate(50.6328125, 176.50000000000003) rotate(0)">35</text><text x="0" y="0" fill="#131300" font-size="14" dominant-baseline="middle" text-anchor="end" transform="translate(50.6328125, 216) rotate(0)">30</text><text x="0" y="0" fill="#131300" font-size="14" dominant-baseline="middle" text-anchor="end" transform="translate(50.6328125, 255.5) rotate(0)">25</text><text x="0" y="0" fill="#131300" font-size="14" dominant-baseline="middle" text-anchor="end" transform="translate(50.6328125, 295) rotate(0)">20</text><text x="0" y="0" fill="#131300" font-size="14" dominant-baseline="middle" text-anchor="end" transform="translate(50.6328125, 334.49999999999994) rotate(0)">15</text><text x="0" y="0" fill="#131300" font-size="14" dominant-baseline="middle" text-anchor="end" transform="translate(50.6328125, 374.00000000000006) rotate(0)">10</text><text x="0" y="0" fill="#131300" font-size="14" dominant-baseline="middle" text-anchor="end" transform="translate(50.6328125, 413.5) rotate(0)">5</text><text x="0" y="0" fill="#131300" font-size="14" dominant-baseline="middle" text-anchor="end" transform="translate(50.6328125, 453) rotate(0)">0</text></g><g class="ticks"><path d="M 60.6328125,58 L 55.6328125,58" fill="none" stroke="#131300" stroke-width="2"></path><path d="M 60.6328125,97.5 L 55.6328125,97.5" fill="none" stroke="#131300" stroke-width="2"></path><path d="M 60.6328125,137 L 55.6328125,137" fill="none" stroke="#131300" stroke-width="2"></path><path d="M 60.6328125,176.50000000000003 L 55.6328125,176.50000000000003" fill="none" stroke="#131300" stroke-width="2"></path><path d="M 60.6328125,216 L 55.6328125,216" fill="none" stroke="#131300" stroke-width="2"></path><path d="M 60.6328125,255.5 L 55.6328125,255.5" fill="none" stroke="#131300" stroke-width="2"></path><path d="M 60.6328125,295 L 55.6328125,295" fill="none" stroke="#131300" stroke-width="2"></path><path d="M 60.6328125,334.49999999999994 L 55.6328125,334.49999999999994" fill="none" stroke="#131300" stroke-width="2"></path><path d="M 60.6328125,374.00000000000006 L 55.6328125,374.00000000000006" fill="none" stroke="#131300" stroke-width="2"></path><path d="M 60.6328125,413.5 L 55.6328125,413.5" fill="none" stroke="#131300" stroke-width="2"></path><path d="M 60.6328125,453 L 55.6328125,453" fill="none" stroke="#131300" stroke-width="2"></path></g><g class="title"><text x="0" y="0" fill="#131300" font-size="16" dominant-baseline="text-before-edge" text-anchor="middle" transform="translate(5, 255.5) rotate(270)">用户数 (千)</text></g></g></g><g class="mermaid-tmp-group"></g></svg></div></div><h3 id="2.14-c4-架构图(c4context)">2.14 C4 架构图(C4Context)</h3><div class="mermaid-block" data-mermaid="C4Context
524
+ title ColaMD 系统上下文图
525
+
526
+ Person(user, &quot;用户&quot;, &quot;使用 ColaMD 编辑 Markdown 文件&quot;)
527
+ System(colamd, &quot;ColaMD&quot;, &quot;Agent Native Markdown 编辑器&quot;)
528
+ System_Ext(agent, &quot;AI Agent&quot;, &quot;Claude Code / Cursor / Copilot 等&quot;)
529
+ System_Ext(filesystem, &quot;文件系统&quot;, &quot;本地 .md 文件&quot;)
530
+
531
+ Rel(user, colamd, &quot;打开、编辑、查看文件&quot;)
532
+ Rel(agent, filesystem, &quot;读写 .md 文件&quot;)
533
+ Rel(colamd, filesystem, &quot;fs.watch 监听变更&quot;)
534
+ Rel(filesystem, colamd, &quot;推送文件变更事件&quot;)" contenteditable="false"><div class="mermaid-preview"><svg id="mermaid-14" width="100%" xmlns="http://www.w3.org/2000/svg" style="max-width: 1526px;" viewBox="0 -70 1526 476" role="graphics-document document" aria-roledescription="c4"><style>#mermaid-14{font-family:"LXGW WenKai","Noto Serif SC","Source Han Serif SC","Songti SC",Georgia,serif;font-size:16px;fill:#3d3530;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-14 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-14 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-14 .error-icon{fill:#552222;}#mermaid-14 .error-text{fill:#552222;stroke:#552222;}#mermaid-14 .edge-thickness-normal{stroke-width:1px;}#mermaid-14 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-14 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-14 .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-14 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-14 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-14 .marker{fill:#b0a89f;stroke:#b0a89f;}#mermaid-14 .marker.cross{stroke:#b0a89f;}#mermaid-14 svg{font-family:"LXGW WenKai","Noto Serif SC","Source Han Serif SC","Songti SC",Georgia,serif;font-size:16px;}#mermaid-14 p{margin:0;}#mermaid-14 .person{stroke:#b0a89f;fill:#ddd5cb;}#mermaid-14 .node .neo-node{stroke:#b0a89f;}#mermaid-14 [data-look="neo"].node rect,#mermaid-14 [data-look="neo"].cluster rect,#mermaid-14 [data-look="neo"].node polygon{stroke:#b0a89f;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-14 [data-look="neo"].node path{stroke:#b0a89f;stroke-width:1px;}#mermaid-14 [data-look="neo"].node .outer-path{filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-14 [data-look="neo"].node .neo-line path{stroke:#b0a89f;filter:none;}#mermaid-14 [data-look="neo"].node circle{stroke:#b0a89f;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-14 [data-look="neo"].node circle .state-start{fill:#000000;}#mermaid-14 [data-look="neo"].icon-shape .icon{fill:#b0a89f;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-14 [data-look="neo"].icon-shape .icon-neo path{stroke:#b0a89f;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-14 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}</style><g></g><defs><symbol id="mermaid-14-computer" width="24" height="24"><path transform="scale(.5)" d="M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z"></path></symbol></defs><defs><symbol id="mermaid-14-database" fill-rule="evenodd" clip-rule="evenodd"><path transform="scale(.5)" d="M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z"></path></symbol></defs><defs><symbol id="mermaid-14-clock" width="24" height="24"><path transform="scale(.5)" d="M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z"></path></symbol></defs><g class="person-man"><rect x="150" y="167" fill="#c44b2b" stroke="#a03a1e" width="242" height="139" rx="2.5" ry="2.5" stroke-width="0.5"></rect><text fill="#FFFFFF" font-family="&quot;LXGW WenKai&quot;, &quot;Noto Serif SC&quot;, Georgia, serif" font-size="12" font-style="italic" lengthAdjust="spacing" textLength="51" x="245.5" y="187">&lt;&lt;person&gt;&gt;</text><image width="48" height="48" x="247" y="197" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII="></image><text x="271" y="253" dominant-baseline="middle" fill="#FFFFFF" style="text-anchor: middle; font-size: 16px; font-weight: bold; font-family: &quot;LXGW WenKai&quot;, &quot;Noto Serif SC&quot;, Georgia, serif;"><tspan dy="0" alignment-baseline="mathematical">用户</tspan></text><text x="271" y="291" dominant-baseline="middle" fill="#FFFFFF" style="text-anchor: middle; font-size: 14px; font-weight: normal; font-family: &quot;LXGW WenKai&quot;, &quot;Noto Serif SC&quot;, Georgia, serif;"><tspan dy="0" alignment-baseline="mathematical">使用 ColaMD 编辑 Markdown 文件</tspan></text></g><g class="person-man"><rect x="492" y="167" fill="#5a7a6b" stroke="#4a6a5b" width="222" height="91" rx="2.5" ry="2.5" stroke-width="0.5"></rect><text fill="#FFFFFF" font-family="&quot;LXGW WenKai&quot;, &quot;Noto Serif SC&quot;, Georgia, serif" font-size="12" font-style="italic" lengthAdjust="spacing" textLength="53" x="576.5" y="187">&lt;&lt;system&gt;&gt;</text><text x="603" y="205" dominant-baseline="middle" fill="#FFFFFF" style="text-anchor: middle; font-size: 16px; font-weight: bold; font-family: &quot;LXGW WenKai&quot;, &quot;Noto Serif SC&quot;, Georgia, serif;"><tspan dy="0" alignment-baseline="mathematical">ColaMD</tspan></text><text x="603" y="243" dominant-baseline="middle" fill="#FFFFFF" style="text-anchor: middle; font-size: 14px; font-weight: normal; font-family: &quot;LXGW WenKai&quot;, &quot;Noto Serif SC&quot;, Georgia, serif;"><tspan dy="0" alignment-baseline="mathematical">Agent Native Markdown 编辑器</tspan></text></g><g class="person-man"><rect x="814" y="167" fill="#8b6b4a" stroke="#7a5a3a" width="246" height="96" rx="2.5" ry="2.5" stroke-width="0.5"></rect><text fill="#FFFFFF" font-family="&quot;Open Sans&quot;, sans-serif" font-size="12" font-style="italic" lengthAdjust="spacing" textLength="103" x="885.5" y="187">&lt;&lt;external_system&gt;&gt;</text><text x="937" y="205" dominant-baseline="middle" fill="#FFFFFF" style="text-anchor: middle; font-size: 16px; font-weight: bold; font-family: &quot;Open Sans&quot;, sans-serif;"><tspan dy="0" alignment-baseline="mathematical">AI Agent</tspan></text><text x="937" y="248" dominant-baseline="middle" fill="#FFFFFF" style="text-anchor: middle; font-size: 14px; font-weight: normal; font-family: &quot;LXGW WenKai&quot;, &quot;Noto Serif SC&quot;, Georgia, serif;"><tspan dy="0" alignment-baseline="mathematical">Claude Code / Cursor / Copilot 等</tspan></text></g><g class="person-man"><rect x="1160" y="167" fill="#8b6b4a" stroke="#7a5a3a" width="216" height="96" rx="2.5" ry="2.5" stroke-width="0.5"></rect><text fill="#FFFFFF" font-family="&quot;Open Sans&quot;, sans-serif" font-size="12" font-style="italic" lengthAdjust="spacing" textLength="103" x="1216.5" y="187">&lt;&lt;external_system&gt;&gt;</text><text x="1268" y="205" dominant-baseline="middle" fill="#FFFFFF" style="text-anchor: middle; font-size: 16px; font-weight: bold; font-family: &quot;Open Sans&quot;, sans-serif;"><tspan dy="0" alignment-baseline="mathematical">文件系统</tspan></text><text x="1268" y="248" dominant-baseline="middle" fill="#FFFFFF" style="text-anchor: middle; font-size: 14px; font-weight: normal; font-family: &quot;LXGW WenKai&quot;, &quot;Noto Serif SC&quot;, Georgia, serif;"><tspan dy="0" alignment-baseline="mathematical">本地 .md 文件</tspan></text></g><defs><marker id="mermaid-14-arrowhead" refX="9" refY="5" markerUnits="userSpaceOnUse" markerWidth="12" markerHeight="12" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z"></path></marker></defs><defs><marker id="mermaid-14-arrowend" refX="1" refY="5" markerUnits="userSpaceOnUse" markerWidth="12" markerHeight="12" orient="auto"><path d="M 10 0 L 0 5 L 10 10 z"></path></marker></defs><defs><marker id="mermaid-14-crosshead" markerWidth="15" markerHeight="8" orient="auto" refX="16" refY="4"><path fill="black" stroke="#000000" stroke-width="1px" d="M 9,2 V 6 L16,4 Z" style="stroke-dasharray: 0, 0;"></path><path fill="none" stroke="#000000" stroke-width="1px" d="M 0,1 L 6,7 M 6,1 L 0,7" style="stroke-dasharray: 0, 0;"></path></marker></defs><defs><marker id="mermaid-14-filled-head" refX="18" refY="7" markerWidth="20" markerHeight="28" orient="auto"><path d="M 18,7 L9,13 L14,7 L9,1 Z"></path></marker></defs><g><line x1="392" y1="248.65342163355407" x2="492" y2="247.40723981900453" stroke-width="1" stroke="#444444" marker-end="url(#mermaid-14-arrowhead)" style="fill: none;"></line><text x="502" y="248.03033072627932" dominant-baseline="middle" fill="#444444" style="text-anchor: middle; font-size: 12px; font-weight: normal; font-family: &quot;LXGW WenKai&quot;, &quot;Noto Serif SC&quot;, Georgia, serif;"><tspan dy="0" alignment-baseline="mathematical">打开、编辑、查看文件</tspan></text><path fill="none" stroke-width="1" stroke="#444444" d="M1060,228.00440528634363 Q1085,233.12552102882205 1160,238.24663677130044 " marker-end="url(#mermaid-14-arrowhead)"></path><text x="1148" y="233.12552102882205" dominant-baseline="middle" fill="#444444" style="text-anchor: middle; font-size: 12px; font-weight: normal; font-family: &quot;LXGW WenKai&quot;, &quot;Noto Serif SC&quot;, Georgia, serif;"><tspan dy="0" alignment-baseline="mathematical">读写 .md 文件</tspan></text><path fill="none" stroke-width="1" stroke="#444444" d="M714,219.3659793814433 Q825.5,221.5941207499676 1160,223.82226211849192 " marker-end="url(#mermaid-14-arrowhead)"></path><text x="986.5" y="221.5941207499676" dominant-baseline="middle" fill="#444444" style="text-anchor: middle; font-size: 12px; font-weight: normal; font-family: &quot;LXGW WenKai&quot;, &quot;Noto Serif SC&quot;, Georgia, serif;"><tspan dy="0" alignment-baseline="mathematical">fs.watch 监听变更</tspan></text><path fill="none" stroke-width="1" stroke="#444444" d="M1160,223.82226211849192 Q1048.5,221.5941207499676 714,219.3659793814433 " marker-end="url(#mermaid-14-arrowhead)"></path><text x="985" y="221.5941207499676" dominant-baseline="middle" fill="#444444" style="text-anchor: middle; font-size: 12px; font-weight: normal; font-family: &quot;LXGW WenKai&quot;, &quot;Noto Serif SC&quot;, Georgia, serif;"><tspan dy="0" alignment-baseline="mathematical">推送文件变更事件</tspan></text></g><text x="513" y="20">ColaMD 系统上下文图</text></svg></div></div><h3 id="2.15-sankey-图(sankey-diagram)">2.15 Sankey 图(Sankey Diagram)</h3><p>(桑吉图目前支持 beta 版本)</p><div class="mermaid-block" data-mermaid="sankey-beta
535
+ Agricultural 'waste',Bio-conversion,124.729
536
+ Bio-conversion,Liquid,0.597
537
+ Bio-conversion,Losses,26.862
538
+ Bio-conversion,Solid,280.322
539
+ Bio-conversion,Gas,81.144
540
+ Biofuel imports,Liquid,35
541
+ Biomass imports,Solid,35
542
+ Coal imports,Coal,11.606
543
+ Coal reserves,Coal,63.965
544
+ Coal,Solid,75.571
545
+ District heating,Industry,10.639
546
+ District heating,Heating and cooling - commercial,22.505
547
+ District heating,Heating and cooling - homes,46.184
548
+ Electricity grid,Over generation / exports,104.453
549
+ Electricity grid,Heating and cooling - homes,113.726
550
+ Electricity grid,H2 conversion,27.14
551
+ Electricity grid,Industry,342.165
552
+ Electricity grid,Road transport,37.797
553
+ Electricity grid,Agriculture,4.412
554
+ Electricity grid,Heating and cooling - commercial,40.858
555
+ Electricity grid,Losses,56.691
556
+ Electricity grid,Rail transport,7.863
557
+ Electricity grid,Lighting &amp; appliances - commercial,90.008
558
+ Electricity grid,Lighting &amp; appliances - homes,93.494
559
+ Gas imports,NGas,40.719
560
+ Gas reserves,NGas,82.233
561
+ Gas,Heating and cooling - commercial,0.129
562
+ Gas,Losses,1.401
563
+ Gas,Thermal generation,151.891
564
+ Gas,Agriculture,2.096
565
+ Gas,Industry,48.58
566
+ Geothermal,Electricity grid,7.013
567
+ H2 conversion,H2,20.897
568
+ H2 conversion,Losses,6.242
569
+ H2,Road transport,20.897
570
+ Hydro,Electricity grid,6.995
571
+ Liquid,Industry,121.066
572
+ Liquid,International shipping,128.69
573
+ Liquid,Road transport,135.835
574
+ Liquid,Domestic aviation,14.458
575
+ Liquid,International aviation,206.267
576
+ Liquid,Agriculture,3.64
577
+ Liquid,National navigation,33.218
578
+ Liquid,Rail transport,4.413
579
+ Marine algae,Bio-conversion,4.375
580
+ NGas,Gas,122.952
581
+ Nuclear,Thermal generation,839.978
582
+ Oil imports,Oil,504.287
583
+ Oil reserves,Oil,107.703
584
+ Oil,Liquid,611.99
585
+ Other waste,Solid,56.587
586
+ Other waste,Bio-conversion,77.81
587
+ Pumped heat,Heating and cooling - homes,193.026
588
+ Pumped heat,Heating and cooling - commercial,70.672
589
+ Solar PV,Electricity grid,59.901
590
+ Solar Thermal,Heating and cooling - homes,19.263
591
+ Solar,Solar Thermal,19.263
592
+ Solar,Solar PV,59.901
593
+ Solid,Agriculture,0.882
594
+ Solid,Thermal generation,400.12
595
+ Solid,Industry,46.477
596
+ Thermal generation,Electricity grid,525.531
597
+ Thermal generation,Losses,787.129
598
+ Thermal generation,District heating,79.329
599
+ Tidal,Electricity grid,9.452
600
+ UK land based bioenergy,Bio-conversion,182.01
601
+ Wave,Electricity grid,19.013
602
+ Wind,Electricity grid,289.366" contenteditable="false"><div class="mermaid-preview"><svg id="mermaid-15" width="100%" xmlns="http://www.w3.org/2000/svg" style="max-width: 580px;" viewBox="10 -15 580 420" role="graphics-document document" aria-roledescription="sankey"><style>#mermaid-15{font-family:"LXGW WenKai","Noto Serif SC","Source Han Serif SC","Songti SC",Georgia,serif;font-size:16px;fill:#3d3530;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-15 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-15 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-15 .error-icon{fill:#552222;}#mermaid-15 .error-text{fill:#552222;stroke:#552222;}#mermaid-15 .edge-thickness-normal{stroke-width:1px;}#mermaid-15 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-15 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-15 .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-15 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-15 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-15 .marker{fill:#b0a89f;stroke:#b0a89f;}#mermaid-15 .marker.cross{stroke:#b0a89f;}#mermaid-15 svg{font-family:"LXGW WenKai","Noto Serif SC","Source Han Serif SC","Songti SC",Georgia,serif;font-size:16px;}#mermaid-15 p{margin:0;}#mermaid-15 .label{font-family:"LXGW WenKai","Noto Serif SC","Source Han Serif SC","Songti SC",Georgia,serif;}#mermaid-15 .node-labels{font-family:"LXGW WenKai","Noto Serif SC","Source Han Serif SC","Songti SC",Georgia,serif;}#mermaid-15 .sankey-label-bg{stroke:#ddd5cb;stroke-width:4px;stroke-linejoin:round;paint-order:stroke;}#mermaid-15 .sankey-label-fg{fill:#3d3530;}#mermaid-15 .node rect{shape-rendering:crispEdges;}#mermaid-15 .link{fill:none;stroke-opacity:0.5;mix-blend-mode:multiply;}#mermaid-15 .node .neo-node{stroke:#b0a89f;}#mermaid-15 [data-look="neo"].node rect,#mermaid-15 [data-look="neo"].cluster rect,#mermaid-15 [data-look="neo"].node polygon{stroke:#b0a89f;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-15 [data-look="neo"].node path{stroke:#b0a89f;stroke-width:1px;}#mermaid-15 [data-look="neo"].node .outer-path{filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-15 [data-look="neo"].node .neo-line path{stroke:#b0a89f;filter:none;}#mermaid-15 [data-look="neo"].node circle{stroke:#b0a89f;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-15 [data-look="neo"].node circle .state-start{fill:#000000;}#mermaid-15 [data-look="neo"].icon-shape .icon{fill:#b0a89f;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-15 [data-look="neo"].icon-shape .icon-neo path{stroke:#b0a89f;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-15 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}</style><g></g><g class="nodes"><g class="node" id="node-1" transform="translate(0,21.05263157894737)" x="0" y="21.05263157894737"><rect height="0" width="10" fill="#4e79a7"></rect></g><g class="node" id="node-2" transform="translate(84.28571428571429,78.12409831611227)" x="84.28571428571429" y="78.12409831611227"><rect height="0" width="10" fill="#f28e2c"></rect></g><g class="node" id="node-3" transform="translate(168.57142857142858,372.4627580280926)" x="168.57142857142858" y="372.4627580280926"><rect height="0" width="10" fill="#e15759"></rect></g><g class="node" id="node-4" transform="translate(590,0.19299782373001495)" x="590" y="0.19299782373001495"><rect height="0" width="10" fill="#76b7b2"></rect></g><g class="node" id="node-5" transform="translate(168.57142857142858,72.35107848589826)" x="168.57142857142858" y="72.35107848589826"><rect height="0" width="10" fill="#59a14f"></rect></g><g class="node" id="node-6" transform="translate(168.57142857142858,130.1895232942211)" x="168.57142857142858" y="130.1895232942211"><rect height="0" width="10" fill="#edc949"></rect></g><g class="node" id="node-7" transform="translate(0,357.89473684210543)" x="0" y="357.89473684210543"><rect height="0" width="10" fill="#af7aa1"></rect></g><g class="node" id="node-8" transform="translate(0,42.10526315789474)" x="0" y="42.10526315789474"><rect height="0" width="10" fill="#ff9da7"></rect></g><g class="node" id="node-9" transform="translate(0,105.26315789473685)" x="0" y="105.26315789473685"><rect height="0" width="10" fill="#9c755f"></rect></g><g class="node" id="node-10" transform="translate(84.28571428571429,136.38053073782288)" x="84.28571428571429" y="136.38053073782288"><rect height="0" width="10" fill="#bab0ab"></rect></g><g class="node" id="node-11" transform="translate(0,147.3684210526316)" x="0" y="147.3684210526316"><rect height="0" width="10" fill="#4e79a7"></rect></g><g class="node" id="node-12" transform="translate(337.14285714285717,12.403966402016934)" x="337.14285714285717" y="12.403966402016934"><rect height="0" width="10" fill="#f28e2c"></rect></g><g class="node" id="node-13" transform="translate(590,178.03700098788784)" x="590" y="178.03700098788784"><rect height="0" width="10" fill="#e15759"></rect></g><g class="node" id="node-14" transform="translate(590,135.9317378299931)" x="590" y="135.9317378299931"><rect height="0" width="10" fill="#76b7b2"></rect></g><g class="node" id="node-15" transform="translate(590,156.98436940894047)" x="590" y="156.98436940894047"><rect height="0" width="10" fill="#59a14f"></rect></g><g class="node" id="node-16" transform="translate(337.14285714285717,241.7355757433885)" x="337.14285714285717" y="241.7355757433885"><rect height="0" width="10" fill="#edc949"></rect></g><g class="node" id="node-17" transform="translate(590,114.87910625104573)" x="590" y="114.87910625104573"><rect height="0" width="10" fill="#af7aa1"></rect></g><g class="node" id="node-18" transform="translate(421.42857142857144,259.13322133457626)" x="421.42857142857144" y="259.13322133457626"><rect height="0" width="10" fill="#ff9da7"></rect></g><g class="node" id="node-19" transform="translate(590,315.7894736842104)" x="590" y="315.7894736842104"><rect height="0" width="10" fill="#9c755f"></rect></g><g class="node" id="node-20" transform="translate(590,202.61170972007932)" x="590" y="202.61170972007932"><rect height="0" width="10" fill="#bab0ab"></rect></g><g class="node" id="node-21" transform="translate(590,294.736842105263)" x="590" y="294.736842105263"><rect height="0" width="10" fill="#4e79a7"></rect></g><g class="node" id="node-22" transform="translate(590,239.76213532438646)" x="590" y="239.76213532438646"><rect height="0" width="10" fill="#f28e2c"></rect></g><g class="node" id="node-23" transform="translate(590,273.6842105263156)" x="590" y="273.6842105263156"><rect height="0" width="10" fill="#e15759"></rect></g><g class="node" id="node-24" transform="translate(0,168.42105263157896)" x="0" y="168.42105263157896"><rect height="0" width="10" fill="#76b7b2"></rect></g><g class="node" id="node-25" transform="translate(84.28571428571429,177.20353197789245)" x="84.28571428571429" y="177.20353197789245"><rect height="0" width="10" fill="#59a14f"></rect></g><g class="node" id="node-26" transform="translate(0,189.47368421052633)" x="0" y="189.47368421052633"><rect height="0" width="10" fill="#edc949"></rect></g><g class="node" id="node-27" transform="translate(252.8571428571429,10.495979345823951)" x="252.8571428571429" y="10.495979345823951"><rect height="0" width="10" fill="#af7aa1"></rect></g><g class="node" id="node-28" transform="translate(0,231.57894736842107)" x="0" y="231.57894736842107"><rect height="0" width="10" fill="#ff9da7"></rect></g><g class="node" id="node-29" transform="translate(505.7142857142858,270.0544828909146)" x="505.7142857142858" y="270.0544828909146"><rect height="0" width="10" fill="#9c755f"></rect></g><g class="node" id="node-30" transform="translate(0,273.68421052631584)" x="0" y="273.68421052631584"><rect height="0" width="10" fill="#bab0ab"></rect></g><g class="node" id="node-31" transform="translate(590,336.8421052631578)" x="590" y="336.8421052631578"><rect height="0" width="10" fill="#4e79a7"></rect></g><g class="node" id="node-32" transform="translate(590,357.8947368421052)" x="590" y="357.8947368421052"><rect height="0" width="10" fill="#f28e2c"></rect></g><g class="node" id="node-33" transform="translate(590,378.9473684210526)" x="590" y="378.9473684210526"><rect height="0" width="10" fill="#e15759"></rect></g><g class="node" id="node-34" transform="translate(590,400)" x="590" y="400"><rect height="0" width="10" fill="#76b7b2"></rect></g><g class="node" id="node-35" transform="translate(0,63.15789473684211)" x="0" y="63.15789473684211"><rect height="0" width="10" fill="#59a14f"></rect></g><g class="node" id="node-36" transform="translate(0,0)" x="0" y="0"><rect height="0" width="10" fill="#edc949"></rect></g><g class="node" id="node-37" transform="translate(0,378.94736842105283)" x="0" y="378.94736842105283"><rect height="0" width="10" fill="#af7aa1"></rect></g><g class="node" id="node-38" transform="translate(84.28571428571429,379.12208179370214)" x="84.28571428571429" y="379.12208179370214"><rect height="0" width="10" fill="#ff9da7"></rect></g><g class="node" id="node-39" transform="translate(0,400.0000000000002)" x="0" y="400.0000000000002"><rect height="0" width="10" fill="#9c755f"></rect></g><g class="node" id="node-40" transform="translate(0,84.21052631578948)" x="0" y="84.21052631578948"><rect height="0" width="10" fill="#bab0ab"></rect></g><g class="node" id="node-41" transform="translate(0,210.5263157894737)" x="0" y="210.5263157894737"><rect height="0" width="10" fill="#4e79a7"></rect></g><g class="node" id="node-42" transform="translate(84.28571428571429,256.26064055623567)" x="84.28571428571429" y="256.26064055623567"><rect height="0" width="10" fill="#f28e2c"></rect></g><g class="node" id="node-43" transform="translate(84.28571428571429,235.2080089772883)" x="84.28571428571429" y="235.2080089772883"><rect height="0" width="10" fill="#e15759"></rect></g><g class="node" id="node-44" transform="translate(0,252.63157894736844)" x="0" y="252.63157894736844"><rect height="0" width="10" fill="#76b7b2"></rect></g><g class="node" id="node-45" transform="translate(0,294.73684210526324)" x="0" y="294.73684210526324"><rect height="0" width="10" fill="#59a14f"></rect></g><g class="node" id="node-46" transform="translate(0,126.31578947368422)" x="0" y="126.31578947368422"><rect height="0" width="10" fill="#edc949"></rect></g><g class="node" id="node-47" transform="translate(0,315.78947368421063)" x="0" y="315.78947368421063"><rect height="0" width="10" fill="#af7aa1"></rect></g><g class="node" id="node-48" transform="translate(0,336.84210526315803)" x="0" y="336.84210526315803"><rect height="0" width="10" fill="#ff9da7"></rect></g></g><g class="node-labels" font-size="14"><text x="16" y="21.05263157894737" dy="0em" text-anchor="start">Agricultural 'waste'
603
+ 124.73</text><text x="100.28571428571429" y="78.12409831611227" dy="0em" text-anchor="start">Bio-conversion
604
+ 388.93</text><text x="184.57142857142858" y="372.4627580280926" dy="0em" text-anchor="start">Liquid
605
+ 647.59</text><text x="584" y="0.19299782373001495" dy="0em" text-anchor="end">Losses
606
+ 878.33</text><text x="184.57142857142858" y="72.35107848589826" dy="0em" text-anchor="start">Solid
607
+ 447.48</text><text x="184.57142857142858" y="130.1895232942211" dy="0em" text-anchor="start">Gas
608
+ 204.1</text><text x="16" y="357.89473684210543" dy="0em" text-anchor="start">Biofuel imports
609
+ 35</text><text x="16" y="42.10526315789474" dy="0em" text-anchor="start">Biomass imports
610
+ 35</text><text x="16" y="105.26315789473685" dy="0em" text-anchor="start">Coal imports
611
+ 11.61</text><text x="100.28571428571429" y="136.38053073782288" dy="0em" text-anchor="start">Coal
612
+ 75.57</text><text x="16" y="147.3684210526316" dy="0em" text-anchor="start">Coal reserves
613
+ 63.97</text><text x="331.14285714285717" y="12.403966402016934" dy="0em" text-anchor="end">District heating
614
+ 79.33</text><text x="584" y="178.03700098788784" dy="0em" text-anchor="end">Industry
615
+ 568.93</text><text x="584" y="135.9317378299931" dy="0em" text-anchor="end">Heating and cooling - commercial
616
+ 134.16</text><text x="584" y="156.98436940894047" dy="0em" text-anchor="end">Heating and cooling - homes
617
+ 372.2</text><text x="331.14285714285717" y="241.7355757433885" dy="0em" text-anchor="end">Electricity grid
618
+ 918.61</text><text x="584" y="114.87910625104573" dy="0em" text-anchor="end">Over generation / exports
619
+ 104.45</text><text x="415.42857142857144" y="259.13322133457626" dy="0em" text-anchor="end">H2 conversion
620
+ 27.14</text><text x="584" y="315.7894736842104" dy="0em" text-anchor="end">Road transport
621
+ 194.53</text><text x="584" y="202.61170972007932" dy="0em" text-anchor="end">Agriculture
622
+ 11.03</text><text x="584" y="294.736842105263" dy="0em" text-anchor="end">Rail transport
623
+ 12.28</text><text x="584" y="239.76213532438646" dy="0em" text-anchor="end">Lighting &amp; appliances - commercial
624
+ 90.01</text><text x="584" y="273.6842105263156" dy="0em" text-anchor="end">Lighting &amp; appliances - homes
625
+ 93.49</text><text x="16" y="168.42105263157896" dy="0em" text-anchor="start">Gas imports
626
+ 40.72</text><text x="100.28571428571429" y="177.20353197789245" dy="0em" text-anchor="start">NGas
627
+ 122.95</text><text x="16" y="189.47368421052633" dy="0em" text-anchor="start">Gas reserves
628
+ 82.23</text><text x="268.8571428571429" y="10.495979345823951" dy="0em" text-anchor="start">Thermal generation
629
+ 1391.99</text><text x="16" y="231.57894736842107" dy="0em" text-anchor="start">Geothermal
630
+ 7.01</text><text x="499.7142857142858" y="270.0544828909146" dy="0em" text-anchor="end">H2
631
+ 20.9</text><text x="16" y="273.68421052631584" dy="0em" text-anchor="start">Hydro
632
+ 7</text><text x="584" y="336.8421052631578" dy="0em" text-anchor="end">International shipping
633
+ 128.69</text><text x="584" y="357.8947368421052" dy="0em" text-anchor="end">Domestic aviation
634
+ 14.46</text><text x="584" y="378.9473684210526" dy="0em" text-anchor="end">International aviation
635
+ 206.27</text><text x="584" y="400" dy="0em" text-anchor="end">National navigation
636
+ 33.22</text><text x="16" y="63.15789473684211" dy="0em" text-anchor="start">Marine algae
637
+ 4.38</text><text x="16" y="0" dy="0em" text-anchor="start">Nuclear
638
+ 839.98</text><text x="16" y="378.94736842105283" dy="0em" text-anchor="start">Oil imports
639
+ 504.29</text><text x="100.28571428571429" y="379.12208179370214" dy="0em" text-anchor="start">Oil
640
+ 611.99</text><text x="16" y="400.0000000000002" dy="0em" text-anchor="start">Oil reserves
641
+ 107.7</text><text x="16" y="84.21052631578948" dy="0em" text-anchor="start">Other waste
642
+ 134.4</text><text x="16" y="210.5263157894737" dy="0em" text-anchor="start">Pumped heat
643
+ 263.7</text><text x="100.28571428571429" y="256.26064055623567" dy="0em" text-anchor="start">Solar PV
644
+ 59.9</text><text x="100.28571428571429" y="235.2080089772883" dy="0em" text-anchor="start">Solar Thermal
645
+ 19.26</text><text x="16" y="252.63157894736844" dy="0em" text-anchor="start">Solar
646
+ 79.16</text><text x="16" y="294.73684210526324" dy="0em" text-anchor="start">Tidal
647
+ 9.45</text><text x="16" y="126.31578947368422" dy="0em" text-anchor="start">UK land based bioenergy
648
+ 182.01</text><text x="16" y="315.78947368421063" dy="0em" text-anchor="start">Wave
649
+ 19.01</text><text x="16" y="336.84210526315803" dy="0em" text-anchor="start">Wind
650
+ 289.37</text></g><g class="links" fill="none" stroke-opacity="0.5"><g class="link" style="mix-blend-mode: multiply;"><linearGradient id="linearGradient-49" gradientUnits="userSpaceOnUse" x1="10" x2="84.28571428571429"><stop offset="0%" stop-color="#4e79a7"></stop><stop offset="100%" stop-color="#f28e2c"></stop></linearGradient><path d="M10,21.05263157894737C47.142857142857146,21.05263157894737,47.142857142857146,78.12409831611227,84.28571428571429,78.12409831611227" stroke="url(#linearGradient-49)" stroke-width="1"></path></g><g class="link" style="mix-blend-mode: multiply;"><linearGradient id="linearGradient-50" gradientUnits="userSpaceOnUse" x1="94.28571428571429" x2="168.57142857142858"><stop offset="0%" stop-color="#f28e2c"></stop><stop offset="100%" stop-color="#e15759"></stop></linearGradient><path d="M94.28571428571429,78.12409831611227C131.42857142857144,78.12409831611227,131.42857142857144,372.4627580280926,168.57142857142858,372.4627580280926" stroke="url(#linearGradient-50)" stroke-width="1"></path></g><g class="link" style="mix-blend-mode: multiply;"><linearGradient id="linearGradient-51" gradientUnits="userSpaceOnUse" x1="94.28571428571429" x2="590"><stop offset="0%" stop-color="#f28e2c"></stop><stop offset="100%" stop-color="#76b7b2"></stop></linearGradient><path d="M94.28571428571429,78.12409831611227C342.14285714285717,78.12409831611227,342.14285714285717,0.19299782373001495,590,0.19299782373001495" stroke="url(#linearGradient-51)" stroke-width="1"></path></g><g class="link" style="mix-blend-mode: multiply;"><linearGradient id="linearGradient-52" gradientUnits="userSpaceOnUse" x1="94.28571428571429" x2="168.57142857142858"><stop offset="0%" stop-color="#f28e2c"></stop><stop offset="100%" stop-color="#59a14f"></stop></linearGradient><path d="M94.28571428571429,78.12409831611227C131.42857142857144,78.12409831611227,131.42857142857144,72.35107848589826,168.57142857142858,72.35107848589826" stroke="url(#linearGradient-52)" stroke-width="1"></path></g><g class="link" style="mix-blend-mode: multiply;"><linearGradient id="linearGradient-53" gradientUnits="userSpaceOnUse" x1="94.28571428571429" x2="168.57142857142858"><stop offset="0%" stop-color="#f28e2c"></stop><stop offset="100%" stop-color="#edc949"></stop></linearGradient><path d="M94.28571428571429,78.12409831611227C131.42857142857144,78.12409831611227,131.42857142857144,130.1895232942211,168.57142857142858,130.1895232942211" stroke="url(#linearGradient-53)" stroke-width="1"></path></g><g class="link" style="mix-blend-mode: multiply;"><linearGradient id="linearGradient-54" gradientUnits="userSpaceOnUse" x1="10" x2="168.57142857142858"><stop offset="0%" stop-color="#af7aa1"></stop><stop offset="100%" stop-color="#e15759"></stop></linearGradient><path d="M10,357.89473684210543C89.28571428571429,357.89473684210543,89.28571428571429,372.4627580280926,168.57142857142858,372.4627580280926" stroke="url(#linearGradient-54)" stroke-width="1"></path></g><g class="link" style="mix-blend-mode: multiply;"><linearGradient id="linearGradient-55" gradientUnits="userSpaceOnUse" x1="10" x2="168.57142857142858"><stop offset="0%" stop-color="#ff9da7"></stop><stop offset="100%" stop-color="#59a14f"></stop></linearGradient><path d="M10,42.10526315789474C89.28571428571429,42.10526315789474,89.28571428571429,72.35107848589826,168.57142857142858,72.35107848589826" stroke="url(#linearGradient-55)" stroke-width="1"></path></g><g class="link" style="mix-blend-mode: multiply;"><linearGradient id="linearGradient-56" gradientUnits="userSpaceOnUse" x1="10" x2="84.28571428571429"><stop offset="0%" stop-color="#9c755f"></stop><stop offset="100%" stop-color="#bab0ab"></stop></linearGradient><path d="M10,105.26315789473685C47.142857142857146,105.26315789473685,47.142857142857146,136.38053073782288,84.28571428571429,136.38053073782288" stroke="url(#linearGradient-56)" stroke-width="1"></path></g><g class="link" style="mix-blend-mode: multiply;"><linearGradient id="linearGradient-57" gradientUnits="userSpaceOnUse" x1="10" x2="84.28571428571429"><stop offset="0%" stop-color="#4e79a7"></stop><stop offset="100%" stop-color="#bab0ab"></stop></linearGradient><path d="M10,147.3684210526316C47.142857142857146,147.3684210526316,47.142857142857146,136.38053073782288,84.28571428571429,136.38053073782288" stroke="url(#linearGradient-57)" stroke-width="1"></path></g><g class="link" style="mix-blend-mode: multiply;"><linearGradient id="linearGradient-58" gradientUnits="userSpaceOnUse" x1="94.28571428571429" x2="168.57142857142858"><stop offset="0%" stop-color="#bab0ab"></stop><stop offset="100%" stop-color="#59a14f"></stop></linearGradient><path d="M94.28571428571429,136.38053073782288C131.42857142857144,136.38053073782288,131.42857142857144,72.35107848589826,168.57142857142858,72.35107848589826" stroke="url(#linearGradient-58)" stroke-width="1"></path></g><g class="link" style="mix-blend-mode: multiply;"><linearGradient id="linearGradient-59" gradientUnits="userSpaceOnUse" x1="347.14285714285717" x2="590"><stop offset="0%" stop-color="#f28e2c"></stop><stop offset="100%" stop-color="#e15759"></stop></linearGradient><path d="M347.14285714285717,12.403966402016934C468.57142857142856,12.403966402016934,468.57142857142856,178.03700098788784,590,178.03700098788784" stroke="url(#linearGradient-59)" stroke-width="1"></path></g><g class="link" style="mix-blend-mode: multiply;"><linearGradient id="linearGradient-60" gradientUnits="userSpaceOnUse" x1="347.14285714285717" x2="590"><stop offset="0%" stop-color="#f28e2c"></stop><stop offset="100%" stop-color="#76b7b2"></stop></linearGradient><path d="M347.14285714285717,12.403966402016934C468.57142857142856,12.403966402016934,468.57142857142856,135.9317378299931,590,135.9317378299931" stroke="url(#linearGradient-60)" stroke-width="1"></path></g><g class="link" style="mix-blend-mode: multiply;"><linearGradient id="linearGradient-61" gradientUnits="userSpaceOnUse" x1="347.14285714285717" x2="590"><stop offset="0%" stop-color="#f28e2c"></stop><stop offset="100%" stop-color="#59a14f"></stop></linearGradient><path d="M347.14285714285717,12.403966402016934C468.57142857142856,12.403966402016934,468.57142857142856,156.98436940894047,590,156.98436940894047" stroke="url(#linearGradient-61)" stroke-width="1"></path></g><g class="link" style="mix-blend-mode: multiply;"><linearGradient id="linearGradient-62" gradientUnits="userSpaceOnUse" x1="347.14285714285717" x2="590"><stop offset="0%" stop-color="#edc949"></stop><stop offset="100%" stop-color="#af7aa1"></stop></linearGradient><path d="M347.14285714285717,241.7355757433885C468.57142857142856,241.7355757433885,468.57142857142856,114.87910625104573,590,114.87910625104573" stroke="url(#linearGradient-62)" stroke-width="1"></path></g><g class="link" style="mix-blend-mode: multiply;"><linearGradient id="linearGradient-63" gradientUnits="userSpaceOnUse" x1="347.14285714285717" x2="590"><stop offset="0%" stop-color="#edc949"></stop><stop offset="100%" stop-color="#59a14f"></stop></linearGradient><path d="M347.14285714285717,241.7355757433885C468.57142857142856,241.7355757433885,468.57142857142856,156.98436940894047,590,156.98436940894047" stroke="url(#linearGradient-63)" stroke-width="1"></path></g><g class="link" style="mix-blend-mode: multiply;"><linearGradient id="linearGradient-64" gradientUnits="userSpaceOnUse" x1="347.14285714285717" x2="421.42857142857144"><stop offset="0%" stop-color="#edc949"></stop><stop offset="100%" stop-color="#ff9da7"></stop></linearGradient><path d="M347.14285714285717,241.7355757433885C384.28571428571433,241.7355757433885,384.28571428571433,259.13322133457626,421.42857142857144,259.13322133457626" stroke="url(#linearGradient-64)" stroke-width="1"></path></g><g class="link" style="mix-blend-mode: multiply;"><linearGradient id="linearGradient-65" gradientUnits="userSpaceOnUse" x1="347.14285714285717" x2="590"><stop offset="0%" stop-color="#edc949"></stop><stop offset="100%" stop-color="#e15759"></stop></linearGradient><path d="M347.14285714285717,241.7355757433885C468.57142857142856,241.7355757433885,468.57142857142856,178.03700098788784,590,178.03700098788784" stroke="url(#linearGradient-65)" stroke-width="1"></path></g><g class="link" style="mix-blend-mode: multiply;"><linearGradient id="linearGradient-66" gradientUnits="userSpaceOnUse" x1="347.14285714285717" x2="590"><stop offset="0%" stop-color="#edc949"></stop><stop offset="100%" stop-color="#9c755f"></stop></linearGradient><path d="M347.14285714285717,241.7355757433885C468.57142857142856,241.7355757433885,468.57142857142856,315.7894736842104,590,315.7894736842104" stroke="url(#linearGradient-66)" stroke-width="1"></path></g><g class="link" style="mix-blend-mode: multiply;"><linearGradient id="linearGradient-67" gradientUnits="userSpaceOnUse" x1="347.14285714285717" x2="590"><stop offset="0%" stop-color="#edc949"></stop><stop offset="100%" stop-color="#bab0ab"></stop></linearGradient><path d="M347.14285714285717,241.7355757433885C468.57142857142856,241.7355757433885,468.57142857142856,202.61170972007932,590,202.61170972007932" stroke="url(#linearGradient-67)" stroke-width="1"></path></g><g class="link" style="mix-blend-mode: multiply;"><linearGradient id="linearGradient-68" gradientUnits="userSpaceOnUse" x1="347.14285714285717" x2="590"><stop offset="0%" stop-color="#edc949"></stop><stop offset="100%" stop-color="#76b7b2"></stop></linearGradient><path d="M347.14285714285717,241.7355757433885C468.57142857142856,241.7355757433885,468.57142857142856,135.9317378299931,590,135.9317378299931" stroke="url(#linearGradient-68)" stroke-width="1"></path></g><g class="link" style="mix-blend-mode: multiply;"><linearGradient id="linearGradient-69" gradientUnits="userSpaceOnUse" x1="347.14285714285717" x2="590"><stop offset="0%" stop-color="#edc949"></stop><stop offset="100%" stop-color="#76b7b2"></stop></linearGradient><path d="M347.14285714285717,241.7355757433885C468.57142857142856,241.7355757433885,468.57142857142856,0.19299782373001495,590,0.19299782373001495" stroke="url(#linearGradient-69)" stroke-width="1"></path></g><g class="link" style="mix-blend-mode: multiply;"><linearGradient id="linearGradient-70" gradientUnits="userSpaceOnUse" x1="347.14285714285717" x2="590"><stop offset="0%" stop-color="#edc949"></stop><stop offset="100%" stop-color="#4e79a7"></stop></linearGradient><path d="M347.14285714285717,241.7355757433885C468.57142857142856,241.7355757433885,468.57142857142856,294.736842105263,590,294.736842105263" stroke="url(#linearGradient-70)" stroke-width="1"></path></g><g class="link" style="mix-blend-mode: multiply;"><linearGradient id="linearGradient-71" gradientUnits="userSpaceOnUse" x1="347.14285714285717" x2="590"><stop offset="0%" stop-color="#edc949"></stop><stop offset="100%" stop-color="#f28e2c"></stop></linearGradient><path d="M347.14285714285717,241.7355757433885C468.57142857142856,241.7355757433885,468.57142857142856,239.76213532438646,590,239.76213532438646" stroke="url(#linearGradient-71)" stroke-width="1"></path></g><g class="link" style="mix-blend-mode: multiply;"><linearGradient id="linearGradient-72" gradientUnits="userSpaceOnUse" x1="347.14285714285717" x2="590"><stop offset="0%" stop-color="#edc949"></stop><stop offset="100%" stop-color="#e15759"></stop></linearGradient><path d="M347.14285714285717,241.7355757433885C468.57142857142856,241.7355757433885,468.57142857142856,273.6842105263156,590,273.6842105263156" stroke="url(#linearGradient-72)" stroke-width="1"></path></g><g class="link" style="mix-blend-mode: multiply;"><linearGradient id="linearGradient-73" gradientUnits="userSpaceOnUse" x1="10" x2="84.28571428571429"><stop offset="0%" stop-color="#76b7b2"></stop><stop offset="100%" stop-color="#59a14f"></stop></linearGradient><path d="M10,168.42105263157896C47.142857142857146,168.42105263157896,47.142857142857146,177.20353197789245,84.28571428571429,177.20353197789245" stroke="url(#linearGradient-73)" stroke-width="1"></path></g><g class="link" style="mix-blend-mode: multiply;"><linearGradient id="linearGradient-74" gradientUnits="userSpaceOnUse" x1="10" x2="84.28571428571429"><stop offset="0%" stop-color="#edc949"></stop><stop offset="100%" stop-color="#59a14f"></stop></linearGradient><path d="M10,189.47368421052633C47.142857142857146,189.47368421052633,47.142857142857146,177.20353197789245,84.28571428571429,177.20353197789245" stroke="url(#linearGradient-74)" stroke-width="1"></path></g><g class="link" style="mix-blend-mode: multiply;"><linearGradient id="linearGradient-75" gradientUnits="userSpaceOnUse" x1="178.57142857142858" x2="590"><stop offset="0%" stop-color="#edc949"></stop><stop offset="100%" stop-color="#76b7b2"></stop></linearGradient><path d="M178.57142857142858,130.1895232942211C384.2857142857143,130.1895232942211,384.2857142857143,135.9317378299931,590,135.9317378299931" stroke="url(#linearGradient-75)" stroke-width="1"></path></g><g class="link" style="mix-blend-mode: multiply;"><linearGradient id="linearGradient-76" gradientUnits="userSpaceOnUse" x1="178.57142857142858" x2="590"><stop offset="0%" stop-color="#edc949"></stop><stop offset="100%" stop-color="#76b7b2"></stop></linearGradient><path d="M178.57142857142858,130.1895232942211C384.2857142857143,130.1895232942211,384.2857142857143,0.19299782373001495,590,0.19299782373001495" stroke="url(#linearGradient-76)" stroke-width="1"></path></g><g class="link" style="mix-blend-mode: multiply;"><linearGradient id="linearGradient-77" gradientUnits="userSpaceOnUse" x1="178.57142857142858" x2="252.8571428571429"><stop offset="0%" stop-color="#edc949"></stop><stop offset="100%" stop-color="#af7aa1"></stop></linearGradient><path d="M178.57142857142858,130.1895232942211C215.71428571428572,130.1895232942211,215.71428571428572,10.495979345823951,252.8571428571429,10.495979345823951" stroke="url(#linearGradient-77)" stroke-width="1"></path></g><g class="link" style="mix-blend-mode: multiply;"><linearGradient id="linearGradient-78" gradientUnits="userSpaceOnUse" x1="178.57142857142858" x2="590"><stop offset="0%" stop-color="#edc949"></stop><stop offset="100%" stop-color="#bab0ab"></stop></linearGradient><path d="M178.57142857142858,130.1895232942211C384.2857142857143,130.1895232942211,384.2857142857143,202.61170972007932,590,202.61170972007932" stroke="url(#linearGradient-78)" stroke-width="1"></path></g><g class="link" style="mix-blend-mode: multiply;"><linearGradient id="linearGradient-79" gradientUnits="userSpaceOnUse" x1="178.57142857142858" x2="590"><stop offset="0%" stop-color="#edc949"></stop><stop offset="100%" stop-color="#e15759"></stop></linearGradient><path d="M178.57142857142858,130.1895232942211C384.2857142857143,130.1895232942211,384.2857142857143,178.03700098788784,590,178.03700098788784" stroke="url(#linearGradient-79)" stroke-width="1"></path></g><g class="link" style="mix-blend-mode: multiply;"><linearGradient id="linearGradient-80" gradientUnits="userSpaceOnUse" x1="10" x2="337.14285714285717"><stop offset="0%" stop-color="#ff9da7"></stop><stop offset="100%" stop-color="#edc949"></stop></linearGradient><path d="M10,231.57894736842107C173.57142857142858,231.57894736842107,173.57142857142858,241.7355757433885,337.14285714285717,241.7355757433885" stroke="url(#linearGradient-80)" stroke-width="1"></path></g><g class="link" style="mix-blend-mode: multiply;"><linearGradient id="linearGradient-81" gradientUnits="userSpaceOnUse" x1="431.42857142857144" x2="505.7142857142858"><stop offset="0%" stop-color="#ff9da7"></stop><stop offset="100%" stop-color="#9c755f"></stop></linearGradient><path d="M431.42857142857144,259.13322133457626C468.5714285714286,259.13322133457626,468.5714285714286,270.0544828909146,505.7142857142858,270.0544828909146" stroke="url(#linearGradient-81)" stroke-width="1"></path></g><g class="link" style="mix-blend-mode: multiply;"><linearGradient id="linearGradient-82" gradientUnits="userSpaceOnUse" x1="431.42857142857144" x2="590"><stop offset="0%" stop-color="#ff9da7"></stop><stop offset="100%" stop-color="#76b7b2"></stop></linearGradient><path d="M431.42857142857144,259.13322133457626C510.7142857142857,259.13322133457626,510.7142857142857,0.19299782373001495,590,0.19299782373001495" stroke="url(#linearGradient-82)" stroke-width="1"></path></g><g class="link" style="mix-blend-mode: multiply;"><linearGradient id="linearGradient-83" gradientUnits="userSpaceOnUse" x1="515.7142857142858" x2="590"><stop offset="0%" stop-color="#9c755f"></stop><stop offset="100%" stop-color="#9c755f"></stop></linearGradient><path d="M515.7142857142858,270.0544828909146C552.8571428571429,270.0544828909146,552.8571428571429,315.7894736842104,590,315.7894736842104" stroke="url(#linearGradient-83)" stroke-width="1"></path></g><g class="link" style="mix-blend-mode: multiply;"><linearGradient id="linearGradient-84" gradientUnits="userSpaceOnUse" x1="10" x2="337.14285714285717"><stop offset="0%" stop-color="#bab0ab"></stop><stop offset="100%" stop-color="#edc949"></stop></linearGradient><path d="M10,273.68421052631584C173.57142857142858,273.68421052631584,173.57142857142858,241.7355757433885,337.14285714285717,241.7355757433885" stroke="url(#linearGradient-84)" stroke-width="1"></path></g><g class="link" style="mix-blend-mode: multiply;"><linearGradient id="linearGradient-85" gradientUnits="userSpaceOnUse" x1="178.57142857142858" x2="590"><stop offset="0%" stop-color="#e15759"></stop><stop offset="100%" stop-color="#e15759"></stop></linearGradient><path d="M178.57142857142858,372.4627580280926C384.2857142857143,372.4627580280926,384.2857142857143,178.03700098788784,590,178.03700098788784" stroke="url(#linearGradient-85)" stroke-width="1"></path></g><g class="link" style="mix-blend-mode: multiply;"><linearGradient id="linearGradient-86" gradientUnits="userSpaceOnUse" x1="178.57142857142858" x2="590"><stop offset="0%" stop-color="#e15759"></stop><stop offset="100%" stop-color="#4e79a7"></stop></linearGradient><path d="M178.57142857142858,372.4627580280926C384.2857142857143,372.4627580280926,384.2857142857143,336.8421052631578,590,336.8421052631578" stroke="url(#linearGradient-86)" stroke-width="1"></path></g><g class="link" style="mix-blend-mode: multiply;"><linearGradient id="linearGradient-87" gradientUnits="userSpaceOnUse" x1="178.57142857142858" x2="590"><stop offset="0%" stop-color="#e15759"></stop><stop offset="100%" stop-color="#9c755f"></stop></linearGradient><path d="M178.57142857142858,372.4627580280926C384.2857142857143,372.4627580280926,384.2857142857143,315.7894736842104,590,315.7894736842104" stroke="url(#linearGradient-87)" stroke-width="1"></path></g><g class="link" style="mix-blend-mode: multiply;"><linearGradient id="linearGradient-88" gradientUnits="userSpaceOnUse" x1="178.57142857142858" x2="590"><stop offset="0%" stop-color="#e15759"></stop><stop offset="100%" stop-color="#f28e2c"></stop></linearGradient><path d="M178.57142857142858,372.4627580280926C384.2857142857143,372.4627580280926,384.2857142857143,357.8947368421052,590,357.8947368421052" stroke="url(#linearGradient-88)" stroke-width="1"></path></g><g class="link" style="mix-blend-mode: multiply;"><linearGradient id="linearGradient-89" gradientUnits="userSpaceOnUse" x1="178.57142857142858" x2="590"><stop offset="0%" stop-color="#e15759"></stop><stop offset="100%" stop-color="#e15759"></stop></linearGradient><path d="M178.57142857142858,372.4627580280926C384.2857142857143,372.4627580280926,384.2857142857143,378.9473684210526,590,378.9473684210526" stroke="url(#linearGradient-89)" stroke-width="1"></path></g><g class="link" style="mix-blend-mode: multiply;"><linearGradient id="linearGradient-90" gradientUnits="userSpaceOnUse" x1="178.57142857142858" x2="590"><stop offset="0%" stop-color="#e15759"></stop><stop offset="100%" stop-color="#bab0ab"></stop></linearGradient><path d="M178.57142857142858,372.4627580280926C384.2857142857143,372.4627580280926,384.2857142857143,202.61170972007932,590,202.61170972007932" stroke="url(#linearGradient-90)" stroke-width="1"></path></g><g class="link" style="mix-blend-mode: multiply;"><linearGradient id="linearGradient-91" gradientUnits="userSpaceOnUse" x1="178.57142857142858" x2="590"><stop offset="0%" stop-color="#e15759"></stop><stop offset="100%" stop-color="#76b7b2"></stop></linearGradient><path d="M178.57142857142858,372.4627580280926C384.2857142857143,372.4627580280926,384.2857142857143,400,590,400" stroke="url(#linearGradient-91)" stroke-width="1"></path></g><g class="link" style="mix-blend-mode: multiply;"><linearGradient id="linearGradient-92" gradientUnits="userSpaceOnUse" x1="178.57142857142858" x2="590"><stop offset="0%" stop-color="#e15759"></stop><stop offset="100%" stop-color="#4e79a7"></stop></linearGradient><path d="M178.57142857142858,372.4627580280926C384.2857142857143,372.4627580280926,384.2857142857143,294.736842105263,590,294.736842105263" stroke="url(#linearGradient-92)" stroke-width="1"></path></g><g class="link" style="mix-blend-mode: multiply;"><linearGradient id="linearGradient-93" gradientUnits="userSpaceOnUse" x1="10" x2="84.28571428571429"><stop offset="0%" stop-color="#59a14f"></stop><stop offset="100%" stop-color="#f28e2c"></stop></linearGradient><path d="M10,63.15789473684211C47.142857142857146,63.15789473684211,47.142857142857146,78.12409831611227,84.28571428571429,78.12409831611227" stroke="url(#linearGradient-93)" stroke-width="1"></path></g><g class="link" style="mix-blend-mode: multiply;"><linearGradient id="linearGradient-94" gradientUnits="userSpaceOnUse" x1="94.28571428571429" x2="168.57142857142858"><stop offset="0%" stop-color="#59a14f"></stop><stop offset="100%" stop-color="#edc949"></stop></linearGradient><path d="M94.28571428571429,177.20353197789245C131.42857142857144,177.20353197789245,131.42857142857144,130.1895232942211,168.57142857142858,130.1895232942211" stroke="url(#linearGradient-94)" stroke-width="1"></path></g><g class="link" style="mix-blend-mode: multiply;"><linearGradient id="linearGradient-95" gradientUnits="userSpaceOnUse" x1="10" x2="252.8571428571429"><stop offset="0%" stop-color="#edc949"></stop><stop offset="100%" stop-color="#af7aa1"></stop></linearGradient><path d="M10,0C131.42857142857144,0,131.42857142857144,10.495979345823951,252.8571428571429,10.495979345823951" stroke="url(#linearGradient-95)" stroke-width="1"></path></g><g class="link" style="mix-blend-mode: multiply;"><linearGradient id="linearGradient-96" gradientUnits="userSpaceOnUse" x1="10" x2="84.28571428571429"><stop offset="0%" stop-color="#af7aa1"></stop><stop offset="100%" stop-color="#ff9da7"></stop></linearGradient><path d="M10,378.94736842105283C47.142857142857146,378.94736842105283,47.142857142857146,379.12208179370214,84.28571428571429,379.12208179370214" stroke="url(#linearGradient-96)" stroke-width="1"></path></g><g class="link" style="mix-blend-mode: multiply;"><linearGradient id="linearGradient-97" gradientUnits="userSpaceOnUse" x1="10" x2="84.28571428571429"><stop offset="0%" stop-color="#9c755f"></stop><stop offset="100%" stop-color="#ff9da7"></stop></linearGradient><path d="M10,400.0000000000002C47.142857142857146,400.0000000000002,47.142857142857146,379.12208179370214,84.28571428571429,379.12208179370214" stroke="url(#linearGradient-97)" stroke-width="1"></path></g><g class="link" style="mix-blend-mode: multiply;"><linearGradient id="linearGradient-98" gradientUnits="userSpaceOnUse" x1="94.28571428571429" x2="168.57142857142858"><stop offset="0%" stop-color="#ff9da7"></stop><stop offset="100%" stop-color="#e15759"></stop></linearGradient><path d="M94.28571428571429,379.12208179370214C131.42857142857144,379.12208179370214,131.42857142857144,372.4627580280926,168.57142857142858,372.4627580280926" stroke="url(#linearGradient-98)" stroke-width="1"></path></g><g class="link" style="mix-blend-mode: multiply;"><linearGradient id="linearGradient-99" gradientUnits="userSpaceOnUse" x1="10" x2="168.57142857142858"><stop offset="0%" stop-color="#bab0ab"></stop><stop offset="100%" stop-color="#59a14f"></stop></linearGradient><path d="M10,84.21052631578948C89.28571428571429,84.21052631578948,89.28571428571429,72.35107848589826,168.57142857142858,72.35107848589826" stroke="url(#linearGradient-99)" stroke-width="1"></path></g><g class="link" style="mix-blend-mode: multiply;"><linearGradient id="linearGradient-100" gradientUnits="userSpaceOnUse" x1="10" x2="84.28571428571429"><stop offset="0%" stop-color="#bab0ab"></stop><stop offset="100%" stop-color="#f28e2c"></stop></linearGradient><path d="M10,84.21052631578948C47.142857142857146,84.21052631578948,47.142857142857146,78.12409831611227,84.28571428571429,78.12409831611227" stroke="url(#linearGradient-100)" stroke-width="1"></path></g><g class="link" style="mix-blend-mode: multiply;"><linearGradient id="linearGradient-101" gradientUnits="userSpaceOnUse" x1="10" x2="590"><stop offset="0%" stop-color="#4e79a7"></stop><stop offset="100%" stop-color="#59a14f"></stop></linearGradient><path d="M10,210.5263157894737C300,210.5263157894737,300,156.98436940894047,590,156.98436940894047" stroke="url(#linearGradient-101)" stroke-width="1"></path></g><g class="link" style="mix-blend-mode: multiply;"><linearGradient id="linearGradient-102" gradientUnits="userSpaceOnUse" x1="10" x2="590"><stop offset="0%" stop-color="#4e79a7"></stop><stop offset="100%" stop-color="#76b7b2"></stop></linearGradient><path d="M10,210.5263157894737C300,210.5263157894737,300,135.9317378299931,590,135.9317378299931" stroke="url(#linearGradient-102)" stroke-width="1"></path></g><g class="link" style="mix-blend-mode: multiply;"><linearGradient id="linearGradient-103" gradientUnits="userSpaceOnUse" x1="94.28571428571429" x2="337.14285714285717"><stop offset="0%" stop-color="#f28e2c"></stop><stop offset="100%" stop-color="#edc949"></stop></linearGradient><path d="M94.28571428571429,256.26064055623567C215.71428571428572,256.26064055623567,215.71428571428572,241.7355757433885,337.14285714285717,241.7355757433885" stroke="url(#linearGradient-103)" stroke-width="1"></path></g><g class="link" style="mix-blend-mode: multiply;"><linearGradient id="linearGradient-104" gradientUnits="userSpaceOnUse" x1="94.28571428571429" x2="590"><stop offset="0%" stop-color="#e15759"></stop><stop offset="100%" stop-color="#59a14f"></stop></linearGradient><path d="M94.28571428571429,235.2080089772883C342.14285714285717,235.2080089772883,342.14285714285717,156.98436940894047,590,156.98436940894047" stroke="url(#linearGradient-104)" stroke-width="1"></path></g><g class="link" style="mix-blend-mode: multiply;"><linearGradient id="linearGradient-105" gradientUnits="userSpaceOnUse" x1="10" x2="84.28571428571429"><stop offset="0%" stop-color="#76b7b2"></stop><stop offset="100%" stop-color="#e15759"></stop></linearGradient><path d="M10,252.63157894736844C47.142857142857146,252.63157894736844,47.142857142857146,235.2080089772883,84.28571428571429,235.2080089772883" stroke="url(#linearGradient-105)" stroke-width="1"></path></g><g class="link" style="mix-blend-mode: multiply;"><linearGradient id="linearGradient-106" gradientUnits="userSpaceOnUse" x1="10" x2="84.28571428571429"><stop offset="0%" stop-color="#76b7b2"></stop><stop offset="100%" stop-color="#f28e2c"></stop></linearGradient><path d="M10,252.63157894736844C47.142857142857146,252.63157894736844,47.142857142857146,256.26064055623567,84.28571428571429,256.26064055623567" stroke="url(#linearGradient-106)" stroke-width="1"></path></g><g class="link" style="mix-blend-mode: multiply;"><linearGradient id="linearGradient-107" gradientUnits="userSpaceOnUse" x1="178.57142857142858" x2="590"><stop offset="0%" stop-color="#59a14f"></stop><stop offset="100%" stop-color="#bab0ab"></stop></linearGradient><path d="M178.57142857142858,72.35107848589826C384.2857142857143,72.35107848589826,384.2857142857143,202.61170972007932,590,202.61170972007932" stroke="url(#linearGradient-107)" stroke-width="1"></path></g><g class="link" style="mix-blend-mode: multiply;"><linearGradient id="linearGradient-108" gradientUnits="userSpaceOnUse" x1="178.57142857142858" x2="252.8571428571429"><stop offset="0%" stop-color="#59a14f"></stop><stop offset="100%" stop-color="#af7aa1"></stop></linearGradient><path d="M178.57142857142858,72.35107848589826C215.71428571428572,72.35107848589826,215.71428571428572,10.495979345823951,252.8571428571429,10.495979345823951" stroke="url(#linearGradient-108)" stroke-width="1"></path></g><g class="link" style="mix-blend-mode: multiply;"><linearGradient id="linearGradient-109" gradientUnits="userSpaceOnUse" x1="178.57142857142858" x2="590"><stop offset="0%" stop-color="#59a14f"></stop><stop offset="100%" stop-color="#e15759"></stop></linearGradient><path d="M178.57142857142858,72.35107848589826C384.2857142857143,72.35107848589826,384.2857142857143,178.03700098788784,590,178.03700098788784" stroke="url(#linearGradient-109)" stroke-width="1"></path></g><g class="link" style="mix-blend-mode: multiply;"><linearGradient id="linearGradient-110" gradientUnits="userSpaceOnUse" x1="262.8571428571429" x2="337.14285714285717"><stop offset="0%" stop-color="#af7aa1"></stop><stop offset="100%" stop-color="#edc949"></stop></linearGradient><path d="M262.8571428571429,10.495979345823951C300,10.495979345823951,300,241.7355757433885,337.14285714285717,241.7355757433885" stroke="url(#linearGradient-110)" stroke-width="1"></path></g><g class="link" style="mix-blend-mode: multiply;"><linearGradient id="linearGradient-111" gradientUnits="userSpaceOnUse" x1="262.8571428571429" x2="590"><stop offset="0%" stop-color="#af7aa1"></stop><stop offset="100%" stop-color="#76b7b2"></stop></linearGradient><path d="M262.8571428571429,10.495979345823951C426.42857142857144,10.495979345823951,426.42857142857144,0.19299782373001495,590,0.19299782373001495" stroke="url(#linearGradient-111)" stroke-width="1"></path></g><g class="link" style="mix-blend-mode: multiply;"><linearGradient id="linearGradient-112" gradientUnits="userSpaceOnUse" x1="262.8571428571429" x2="337.14285714285717"><stop offset="0%" stop-color="#af7aa1"></stop><stop offset="100%" stop-color="#f28e2c"></stop></linearGradient><path d="M262.8571428571429,10.495979345823951C300,10.495979345823951,300,12.403966402016934,337.14285714285717,12.403966402016934" stroke="url(#linearGradient-112)" stroke-width="1"></path></g><g class="link" style="mix-blend-mode: multiply;"><linearGradient id="linearGradient-113" gradientUnits="userSpaceOnUse" x1="10" x2="337.14285714285717"><stop offset="0%" stop-color="#59a14f"></stop><stop offset="100%" stop-color="#edc949"></stop></linearGradient><path d="M10,294.73684210526324C173.57142857142858,294.73684210526324,173.57142857142858,241.7355757433885,337.14285714285717,241.7355757433885" stroke="url(#linearGradient-113)" stroke-width="1"></path></g><g class="link" style="mix-blend-mode: multiply;"><linearGradient id="linearGradient-114" gradientUnits="userSpaceOnUse" x1="10" x2="84.28571428571429"><stop offset="0%" stop-color="#edc949"></stop><stop offset="100%" stop-color="#f28e2c"></stop></linearGradient><path d="M10,126.31578947368422C47.142857142857146,126.31578947368422,47.142857142857146,78.12409831611227,84.28571428571429,78.12409831611227" stroke="url(#linearGradient-114)" stroke-width="1"></path></g><g class="link" style="mix-blend-mode: multiply;"><linearGradient id="linearGradient-115" gradientUnits="userSpaceOnUse" x1="10" x2="337.14285714285717"><stop offset="0%" stop-color="#af7aa1"></stop><stop offset="100%" stop-color="#edc949"></stop></linearGradient><path d="M10,315.78947368421063C173.57142857142858,315.78947368421063,173.57142857142858,241.7355757433885,337.14285714285717,241.7355757433885" stroke="url(#linearGradient-115)" stroke-width="1"></path></g><g class="link" style="mix-blend-mode: multiply;"><linearGradient id="linearGradient-116" gradientUnits="userSpaceOnUse" x1="10" x2="337.14285714285717"><stop offset="0%" stop-color="#ff9da7"></stop><stop offset="100%" stop-color="#edc949"></stop></linearGradient><path d="M10,336.84210526315803C173.57142857142858,336.84210526315803,173.57142857142858,241.7355757433885,337.14285714285717,241.7355757433885" stroke="url(#linearGradient-116)" stroke-width="1"></path></g></g></svg></div></div><h3 id="2.16-block-图(block-diagram)">2.16 Block 图(Block Diagram)</h3><div class="mermaid-block" data-mermaid="block-beta
651
+ columns 3
652
+ space:2
653
+ block:plugin_group:1
654
+ columns 1
655
+ math[&quot;Math Plugin&quot;]
656
+ mermaid[&quot;Mermaid Plugin&quot;]
657
+ end
658
+ space:2
659
+ editor[&quot;ColaMD Editor&quot;]
660
+ space:2
661
+ user[&quot;用户&quot;]
662
+ space:2
663
+
664
+ editor --> plugin_group
665
+ user --> editor" contenteditable="false"><div class="mermaid-preview"><svg id="mermaid-16" width="100%" xmlns="http://www.w3.org/2000/svg" style="max-width: 414.3359375px;" viewBox="-5 -193 414.3359375 386" role="graphics-document document" aria-roledescription="block"><style>#mermaid-16{font-family:"LXGW WenKai","Noto Serif SC","Source Han Serif SC","Songti SC",Georgia,serif;font-size:16px;fill:#3d3530;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-16 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-16 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-16 .error-icon{fill:#552222;}#mermaid-16 .error-text{fill:#552222;stroke:#552222;}#mermaid-16 .edge-thickness-normal{stroke-width:1px;}#mermaid-16 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-16 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-16 .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-16 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-16 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-16 .marker{fill:#b0a89f;stroke:#b0a89f;}#mermaid-16 .marker.cross{stroke:#b0a89f;}#mermaid-16 svg{font-family:"LXGW WenKai","Noto Serif SC","Source Han Serif SC","Songti SC",Georgia,serif;font-size:16px;}#mermaid-16 p{margin:0;}#mermaid-16 .label{font-family:"LXGW WenKai","Noto Serif SC","Source Han Serif SC","Songti SC",Georgia,serif;color:#3d3530;}#mermaid-16 .cluster-label text{fill:#3d3530;}#mermaid-16 .cluster-label span,#mermaid-16 p{color:#3d3530;}#mermaid-16 .label text,#mermaid-16 span,#mermaid-16 p{fill:#3d3530;color:#3d3530;}#mermaid-16 .node rect,#mermaid-16 .node circle,#mermaid-16 .node ellipse,#mermaid-16 .node polygon,#mermaid-16 .node path{fill:#ddd5cb;stroke:#b0a89f;stroke-width:1px;}#mermaid-16 .flowchart-label text{text-anchor:middle;}#mermaid-16 .node .label{text-align:center;}#mermaid-16 .node.clickable{cursor:pointer;}#mermaid-16 .arrowheadPath{fill:#b0a89f;}#mermaid-16 .edgePath .path{stroke:#b0a89f;stroke-width:2.0px;}#mermaid-16 .flowchart-link{stroke:#b0a89f;fill:none;}#mermaid-16 .edgeLabel{background-color:#e8e2db;text-align:center;}#mermaid-16 .edgeLabel p{margin:0;padding:0;display:inline;}#mermaid-16 .edgeLabel rect{opacity:0.5;background-color:#e8e2db;fill:#e8e2db;}#mermaid-16 .labelBkg{background-color:#e8e2db;}#mermaid-16 .node .cluster{fill:rgba(224, 216, 207, 0.5);stroke:rgba(176, 168, 159, 0.2);box-shadow:rgba(50, 50, 93, 0.25) 0px 13px 27px -5px,rgba(0, 0, 0, 0.3) 0px 8px 16px -8px;stroke-width:1px;}#mermaid-16 .cluster text{fill:#3d3530;}#mermaid-16 .cluster span,#mermaid-16 p{color:#3d3530;}#mermaid-16 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"LXGW WenKai","Noto Serif SC","Source Han Serif SC","Songti SC",Georgia,serif;font-size:12px;background:#e8e2db;border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-16 .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#3d3530;}#mermaid-16 .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-16 .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-16 .node .neo-node{stroke:#b0a89f;}#mermaid-16 [data-look="neo"].node rect,#mermaid-16 [data-look="neo"].cluster rect,#mermaid-16 [data-look="neo"].node polygon{stroke:#b0a89f;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-16 [data-look="neo"].node path{stroke:#b0a89f;stroke-width:1px;}#mermaid-16 [data-look="neo"].node .outer-path{filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-16 [data-look="neo"].node .neo-line path{stroke:#b0a89f;filter:none;}#mermaid-16 [data-look="neo"].node circle{stroke:#b0a89f;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-16 [data-look="neo"].node circle .state-start{fill:#000000;}#mermaid-16 [data-look="neo"].icon-shape .icon{fill:#b0a89f;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-16 [data-look="neo"].icon-shape .icon-neo path{stroke:#b0a89f;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-16 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}</style><g></g><marker id="mermaid-16_block-pointEnd" class="marker block" viewBox="0 0 10 10" refX="6" refY="5" markerUnits="userSpaceOnUse" markerWidth="12" markerHeight="12" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"></path></marker><marker id="mermaid-16_block-pointStart" class="marker block" viewBox="0 0 10 10" refX="4.5" refY="5" markerUnits="userSpaceOnUse" markerWidth="12" markerHeight="12" orient="auto"><path d="M 0 5 L 10 10 L 10 0 z" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"></path></marker><marker id="mermaid-16_block-circleEnd" class="marker block" viewBox="0 0 10 10" refX="11" refY="5" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"></circle></marker><marker id="mermaid-16_block-circleStart" class="marker block" viewBox="0 0 10 10" refX="-1" refY="5" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"></circle></marker><marker id="mermaid-16_block-crossEnd" class="marker cross block" viewBox="0 0 11 11" refX="12" refY="5.2" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><path d="M 1,1 l 9,9 M 10,1 l -9,9" class="arrowMarkerPath" style="stroke-width: 2; stroke-dasharray: 1, 0;"></path></marker><marker id="mermaid-16_block-crossStart" class="marker cross block" viewBox="0 0 11 11" refX="-1" refY="5.2" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><path d="M 1,1 l 9,9 M 10,1 l -9,9" class="arrowMarkerPath" style="stroke-width: 2; stroke-dasharray: 1, 0;"></path></marker><g class="block"><g class="node default default flowchart-label" id="mermaid-16-plugin_group" transform="translate(339.61328125, -144)"><rect class="basic cluster composite label-container" style="" rx="0" ry="0" x="-64.72265625" y="-44" width="129.4453125" height="94"></rect><g class="label" style="" transform="translate(0, -3)"><rect></rect><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5;"><span class="nodeLabel "></span></div></foreignObject></g></g><g class="node default default flowchart-label" id="mermaid-16-math" transform="translate(339.61328125, -164)"><rect class="basic label-container" style="" rx="0" ry="0" x="-56.72265625" y="-16" width="113.4453125" height="38"></rect><g class="label" style="" transform="translate(-40.6640625, -12)"><rect></rect><foreignObject width="81.328125" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5;"><span class="nodeLabel "><p>Math Plugin</p></span></div></foreignObject></g></g><g class="node default default flowchart-label" id="mermaid-16-mermaid" transform="translate(339.61328125, -124)"><rect class="basic label-container" style="" rx="0" ry="0" x="-56.72265625" y="-16" width="113.4453125" height="38"></rect><g class="label" style="" transform="translate(-52.72265625, -12)"><rect></rect><foreignObject width="105.4453125" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5;"><span class="nodeLabel "><p>Mermaid Plugin</p></span></div></foreignObject></g></g><g class="node default default flowchart-label" id="mermaid-16-editor" transform="translate(339.61328125, -48)"><rect class="basic label-container" style="" rx="0" ry="0" x="-64.72265625" y="-44" width="129.4453125" height="94"></rect><g class="label" style="" transform="translate(-51.37890625, -12)"><rect></rect><foreignObject width="102.7578125" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5;"><span class="nodeLabel "><p>ColaMD Editor</p></span></div></foreignObject></g></g><g class="node default default flowchart-label" id="mermaid-16-user" transform="translate(339.61328125, 48)"><rect class="basic label-container" style="" rx="0" ry="0" x="-64.72265625" y="-44" width="129.4453125" height="94"></rect><g class="label" style="" transform="translate(-16, -12)"><rect></rect><foreignObject width="32" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5;"><span class="nodeLabel "><p>用户</p></span></div></foreignObject></g></g><path d="M339.613,-92L339.613,-92.667C339.613,-93.333,339.613,-94.667,339.613,-95.333C339.613,-96,339.613,-96,339.613,-96L339.613,-96" id="mermaid-16-1-editor-plugin_group" class=" edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1" marker-end="url(#mermaid-16_block-pointEnd)"></path><path d="M339.613,4L339.613,3.333C339.613,2.667,339.613,1.333,339.613,0.667C339.613,0,339.613,0,339.613,0L339.613,0" id="mermaid-16-1-user-editor" class=" edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1" marker-end="url(#mermaid-16_block-pointEnd)"></path></g></svg></div></div><h3 id="2.17-复杂流程图(带聚群)">2.17 复杂流程图(带聚群)</h3><div class="mermaid-block" data-mermaid="graph TB
666
+ subgraph 输入层
667
+ A1[键盘输入]
668
+ A2[文件拖拽]
669
+ A3[Agent 修改]
670
+ end
671
+
672
+ subgraph 处理层
673
+ B1[Markdown 解析]
674
+ B2[Plugin 识别]
675
+ B3[渲染引擎]
676
+ end
677
+
678
+ subgraph 输出层
679
+ C1[富文本显示]
680
+ C2[源码显示]
681
+ C3[PNG 导出]
682
+ end
683
+
684
+ A1 --> B1
685
+ A2 --> B1
686
+ A3 --> B1
687
+ B1 --> B2
688
+ B2 -->|Math| B3
689
+ B2 -->|Mermaid| B3
690
+ B3 --> C1
691
+ B3 --> C2
692
+ B3 --> C3" contenteditable="false"><div class="mermaid-preview"><svg id="mermaid-17" width="100%" xmlns="http://www.w3.org/2000/svg" class="flowchart" style="max-width: 611.619140625px;" viewBox="0 0 611.619140625 660" role="graphics-document document" aria-roledescription="flowchart-v2"><style>#mermaid-17{font-family:"LXGW WenKai","Noto Serif SC","Source Han Serif SC","Songti SC",Georgia,serif;font-size:16px;fill:#3d3530;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-17 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-17 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-17 .error-icon{fill:#552222;}#mermaid-17 .error-text{fill:#552222;stroke:#552222;}#mermaid-17 .edge-thickness-normal{stroke-width:1px;}#mermaid-17 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-17 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-17 .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-17 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-17 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-17 .marker{fill:#b0a89f;stroke:#b0a89f;}#mermaid-17 .marker.cross{stroke:#b0a89f;}#mermaid-17 svg{font-family:"LXGW WenKai","Noto Serif SC","Source Han Serif SC","Songti SC",Georgia,serif;font-size:16px;}#mermaid-17 p{margin:0;}#mermaid-17 .label{font-family:"LXGW WenKai","Noto Serif SC","Source Han Serif SC","Songti SC",Georgia,serif;color:#3d3530;}#mermaid-17 .cluster-label text{fill:#3d3530;}#mermaid-17 .cluster-label span{color:#3d3530;}#mermaid-17 .cluster-label span p{background-color:transparent;}#mermaid-17 .label text,#mermaid-17 span{fill:#3d3530;color:#3d3530;}#mermaid-17 .node rect,#mermaid-17 .node circle,#mermaid-17 .node ellipse,#mermaid-17 .node polygon,#mermaid-17 .node path{fill:#ddd5cb;stroke:#b0a89f;stroke-width:1px;}#mermaid-17 .rough-node .label text,#mermaid-17 .node .label text,#mermaid-17 .image-shape .label,#mermaid-17 .icon-shape .label{text-anchor:middle;}#mermaid-17 .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-17 .rough-node .label,#mermaid-17 .node .label,#mermaid-17 .image-shape .label,#mermaid-17 .icon-shape .label{text-align:center;}#mermaid-17 .node.clickable{cursor:pointer;}#mermaid-17 .root .anchor path{fill:#b0a89f!important;stroke-width:0;stroke:#b0a89f;}#mermaid-17 .arrowheadPath{fill:#b0a89f;}#mermaid-17 .edgePath .path{stroke:#b0a89f;stroke-width:1px;}#mermaid-17 .flowchart-link{stroke:#b0a89f;fill:none;}#mermaid-17 .edgeLabel{background-color:#e8e2db;text-align:center;}#mermaid-17 .edgeLabel p{background-color:#e8e2db;}#mermaid-17 .edgeLabel rect{opacity:0.5;background-color:#e8e2db;fill:#e8e2db;}#mermaid-17 .labelBkg{background-color:rgba(232, 226, 219, 0.5);}#mermaid-17 .cluster rect{fill:#e0d8cf;stroke:#b0a89f;stroke-width:1px;}#mermaid-17 .cluster text{fill:#3d3530;}#mermaid-17 .cluster span{color:#3d3530;}#mermaid-17 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"LXGW WenKai","Noto Serif SC","Source Han Serif SC","Songti SC",Georgia,serif;font-size:12px;background:#e8e2db;border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-17 .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#3d3530;}#mermaid-17 rect.text{fill:none;stroke-width:0;}#mermaid-17 .icon-shape,#mermaid-17 .image-shape{background-color:#e8e2db;text-align:center;}#mermaid-17 .icon-shape p,#mermaid-17 .image-shape p{background-color:#e8e2db;padding:2px;}#mermaid-17 .icon-shape .label rect,#mermaid-17 .image-shape .label rect{opacity:0.5;background-color:#e8e2db;fill:#e8e2db;}#mermaid-17 .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-17 .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-17 .node .neo-node{stroke:#b0a89f;}#mermaid-17 [data-look="neo"].node rect,#mermaid-17 [data-look="neo"].cluster rect,#mermaid-17 [data-look="neo"].node polygon{stroke:#b0a89f;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-17 [data-look="neo"].node path{stroke:#b0a89f;stroke-width:1px;}#mermaid-17 [data-look="neo"].node .outer-path{filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-17 [data-look="neo"].node .neo-line path{stroke:#b0a89f;filter:none;}#mermaid-17 [data-look="neo"].node circle{stroke:#b0a89f;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-17 [data-look="neo"].node circle .state-start{fill:#000000;}#mermaid-17 [data-look="neo"].icon-shape .icon{fill:#b0a89f;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-17 [data-look="neo"].icon-shape .icon-neo path{stroke:#b0a89f;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-17 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}</style><g><marker id="mermaid-17_flowchart-v2-pointEnd" class="marker flowchart-v2" viewBox="0 0 10 10" refX="5" refY="5" markerUnits="userSpaceOnUse" markerWidth="8" markerHeight="8" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"></path></marker><marker id="mermaid-17_flowchart-v2-pointStart" class="marker flowchart-v2" viewBox="0 0 10 10" refX="4.5" refY="5" markerUnits="userSpaceOnUse" markerWidth="8" markerHeight="8" orient="auto"><path d="M 0 5 L 10 10 L 10 0 z" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"></path></marker><marker id="mermaid-17_flowchart-v2-pointEnd-margin" class="marker flowchart-v2" viewBox="0 0 11.5 14" refX="11.5" refY="7" markerUnits="userSpaceOnUse" markerWidth="10.5" markerHeight="14" orient="auto"><path d="M 0 0 L 11.5 7 L 0 14 z" class="arrowMarkerPath" style="stroke-width: 0; stroke-dasharray: 1, 0;"></path></marker><marker id="mermaid-17_flowchart-v2-pointStart-margin" class="marker flowchart-v2" viewBox="0 0 11.5 14" refX="1" refY="7" markerUnits="userSpaceOnUse" markerWidth="11.5" markerHeight="14" orient="auto"><polygon points="0,7 11.5,14 11.5,0" class="arrowMarkerPath" style="stroke-width: 0; stroke-dasharray: 1, 0;"></polygon></marker><marker id="mermaid-17_flowchart-v2-circleEnd" class="marker flowchart-v2" viewBox="0 0 10 10" refX="11" refY="5" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"></circle></marker><marker id="mermaid-17_flowchart-v2-circleStart" class="marker flowchart-v2" viewBox="0 0 10 10" refX="-1" refY="5" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"></circle></marker><marker id="mermaid-17_flowchart-v2-circleEnd-margin" class="marker flowchart-v2" viewBox="0 0 10 10" refY="5" refX="12.25" markerUnits="userSpaceOnUse" markerWidth="14" markerHeight="14" orient="auto"><circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 0; stroke-dasharray: 1, 0;"></circle></marker><marker id="mermaid-17_flowchart-v2-circleStart-margin" class="marker flowchart-v2" viewBox="0 0 10 10" refX="-2" refY="5" markerUnits="userSpaceOnUse" markerWidth="14" markerHeight="14" orient="auto"><circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 0; stroke-dasharray: 1, 0;"></circle></marker><marker id="mermaid-17_flowchart-v2-crossEnd" class="marker cross flowchart-v2" viewBox="0 0 11 11" refX="12" refY="5.2" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><path d="M 1,1 l 9,9 M 10,1 l -9,9" class="arrowMarkerPath" style="stroke-width: 2; stroke-dasharray: 1, 0;"></path></marker><marker id="mermaid-17_flowchart-v2-crossStart" class="marker cross flowchart-v2" viewBox="0 0 11 11" refX="-1" refY="5.2" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><path d="M 1,1 l 9,9 M 10,1 l -9,9" class="arrowMarkerPath" style="stroke-width: 2; stroke-dasharray: 1, 0;"></path></marker><marker id="mermaid-17_flowchart-v2-crossEnd-margin" class="marker cross flowchart-v2" viewBox="0 0 15 15" refX="17.7" refY="7.5" markerUnits="userSpaceOnUse" markerWidth="12" markerHeight="12" orient="auto"><path d="M 1,1 L 14,14 M 1,14 L 14,1" class="arrowMarkerPath" style="stroke-width: 2.5;"></path></marker><marker id="mermaid-17_flowchart-v2-crossStart-margin" class="marker cross flowchart-v2" viewBox="0 0 15 15" refX="-3.5" refY="7.5" markerUnits="userSpaceOnUse" markerWidth="12" markerHeight="12" orient="auto"><path d="M 1,1 L 14,14 M 1,14 L 14,1" class="arrowMarkerPath" style="stroke-width: 2.5; stroke-dasharray: 1, 0;"></path></marker><g class="root"><g class="clusters"><g class="cluster " id="mermaid-17-输出层" data-look="classic"><rect style="" x="28.03125" y="548" width="563.765625" height="104"></rect><g class="cluster-label " transform="translate(285.9140625, 548)"><foreignObject width="48" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5;"><span class="nodeLabel "><p>输出层</p></span></div></foreignObject></g></g><g class="cluster " id="mermaid-17-处理层" data-look="classic"><rect style="" x="8" y="162" width="595.619140625" height="336"></rect><g class="cluster-label " transform="translate(281.8095703125, 162)"><foreignObject width="48" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5;"><span class="nodeLabel "><p>处理层</p></span></div></foreignObject></g></g><g class="cluster " id="mermaid-17-输入层" data-look="classic"><rect style="" x="43.44140625" y="8" width="552.9453125" height="104"></rect><g class="cluster-label " transform="translate(295.9140625, 8)"><foreignObject width="48" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5;"><span class="nodeLabel "><p>输入层</p></span></div></foreignObject></g></g></g><g class="edgePaths"><path d="M140.441,87L140.441,91.167C140.441,95.333,140.441,103.667,140.441,112C140.441,120.333,140.441,128.667,140.441,137C140.441,145.333,140.441,153.667,155.023,162.176C169.605,170.686,198.769,179.372,213.35,183.715L227.932,188.058" id="mermaid-17-L_A1_B1_0" class=" edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_A1_B1_0" data-points="W3sieCI6MTQwLjQ0MTQwNjI1LCJ5Ijo4N30seyJ4IjoxNDAuNDQxNDA2MjUsInkiOjExMn0seyJ4IjoxNDAuNDQxNDA2MjUsInkiOjEzN30seyJ4IjoxNDAuNDQxNDA2MjUsInkiOjE2Mn0seyJ4IjoyMzEuNzY1NjI1LCJ5IjoxODkuMjAwMDg5NDk1NDY5Mjl9XQ==" data-look="classic" marker-end="url(#mermaid-17_flowchart-v2-pointEnd)"></path><path d="M314.441,87L314.441,91.167C314.441,95.333,314.441,103.667,314.441,112C314.441,120.333,314.441,128.667,314.441,137C314.441,145.333,314.441,153.667,314.481,161.333C314.521,169,314.6,176,314.64,179.5L314.68,183" id="mermaid-17-L_A2_B1_0" class=" edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_A2_B1_0" data-points="W3sieCI6MzE0LjQ0MTQwNjI1LCJ5Ijo4N30seyJ4IjozMTQuNDQxNDA2MjUsInkiOjExMn0seyJ4IjozMTQuNDQxNDA2MjUsInkiOjEzN30seyJ4IjozMTQuNDQxNDA2MjUsInkiOjE2Mn0seyJ4IjozMTQuNzI0OTg0OTc1OTYxNTUsInkiOjE4N31d" data-look="classic" marker-end="url(#mermaid-17_flowchart-v2-pointEnd)"></path><path d="M493.914,87L493.914,91.167C493.914,95.333,493.914,103.667,493.914,112C493.914,120.333,493.914,128.667,493.914,137C493.914,145.333,493.914,153.667,478.618,162.28C463.322,170.893,432.73,179.786,417.434,184.232L402.138,188.679" id="mermaid-17-L_A3_B1_0" class=" edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_A3_B1_0" data-points="W3sieCI6NDkzLjkxNDA2MjUsInkiOjg3fSx7IngiOjQ5My45MTQwNjI1LCJ5IjoxMTJ9LHsieCI6NDkzLjkxNDA2MjUsInkiOjEzN30seyJ4Ijo0OTMuOTE0MDYyNSwieSI6MTYyfSx7IngiOjM5OC4yOTY4NzUsInkiOjE4OS43OTUyNTcwMjA1NzAzOH1d" data-look="classic" marker-end="url(#mermaid-17_flowchart-v2-pointEnd)"></path><path d="M315.031,241L315.031,245.167C315.031,249.333,315.031,257.667,315.031,265.333C315.031,273,315.031,280,315.031,283.5L315.031,287" id="mermaid-17-L_B1_B2_0" class=" edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_B1_B2_0" data-points="W3sieCI6MzE1LjAzMTI1LCJ5IjoyNDF9LHsieCI6MzE1LjAzMTI1LCJ5IjoyNjZ9LHsieCI6MzE1LjAzMTI1LCJ5IjoyOTF9XQ==" data-look="classic" marker-end="url(#mermaid-17_flowchart-v2-pointEnd)"></path><path d="M246.012,342.377L227.314,348.981C208.616,355.585,171.22,368.792,171.761,382.191C172.303,395.59,210.781,409.18,230.02,415.975L249.26,422.77" id="mermaid-17-L_B2_B3_0" class=" edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_B2_B3_0" data-points="W3sieCI6MjQ2LjAxMTcxODc1LCJ5IjozNDIuMzc2ODEzNDY4NzEwMn0seyJ4IjoxMzMuODI0MjE4NzUsInkiOjM4Mn0seyJ4IjoyNTMuMDMxMjUsInkiOjQyNC4xMDIzOTQ5NjQzMjM0fV0=" data-look="classic" marker-end="url(#mermaid-17_flowchart-v2-pointEnd)"></path><path d="M384.051,344.935L399.881,351.112C415.71,357.29,447.37,369.645,446.821,382.214C446.272,394.783,413.515,407.567,397.136,413.959L380.758,420.35" id="mermaid-17-L_B2_B3_2" class=" edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_B2_B3_2" data-points="W3sieCI6Mzg0LjA1MDc4MTI1LCJ5IjozNDQuOTM0NzcxOTkzNzU5NDV9LHsieCI6NDc5LjAyOTI5Njg3NSwieSI6MzgyfSx7IngiOjM3Ny4wMzEyNSwieSI6NDIxLjgwNDU4OTg5ODQxMjV9XQ==" data-look="classic" marker-end="url(#mermaid-17_flowchart-v2-pointEnd)"></path><path d="M253.031,463.714L233.031,469.429C213.031,475.143,173.031,486.571,153.031,496.452C133.031,506.333,133.031,514.667,133.031,523C133.031,531.333,133.031,539.667,133.031,547.333C133.031,555,133.031,562,133.031,565.5L133.031,569" id="mermaid-17-L_B3_C1_0" class=" edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_B3_C1_0" data-points="W3sieCI6MjUzLjAzMTI1LCJ5Ijo0NjMuNzE0Mjg1NzE0Mjg1N30seyJ4IjoxMzMuMDMxMjUsInkiOjQ5OH0seyJ4IjoxMzMuMDMxMjUsInkiOjUyM30seyJ4IjoxMzMuMDMxMjUsInkiOjU0OH0seyJ4IjoxMzMuMDMxMjUsInkiOjU3M31d" data-look="classic" marker-end="url(#mermaid-17_flowchart-v2-pointEnd)"></path><path d="M315.031,473L315.031,477.167C315.031,481.333,315.031,489.667,315.031,498C315.031,506.333,315.031,514.667,315.031,523C315.031,531.333,315.031,539.667,315.031,547.333C315.031,555,315.031,562,315.031,565.5L315.031,569" id="mermaid-17-L_B3_C2_0" class=" edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_B3_C2_0" data-points="W3sieCI6MzE1LjAzMTI1LCJ5Ijo0NzN9LHsieCI6MzE1LjAzMTI1LCJ5Ijo0OTh9LHsieCI6MzE1LjAzMTI1LCJ5Ijo1MjN9LHsieCI6MzE1LjAzMTI1LCJ5Ijo1NDh9LHsieCI6MzE1LjAzMTI1LCJ5Ijo1NzN9XQ==" data-look="classic" marker-end="url(#mermaid-17_flowchart-v2-pointEnd)"></path><path d="M377.031,464.227L396.178,469.856C415.326,475.485,453.62,486.742,472.767,496.538C491.914,506.333,491.914,514.667,491.914,523C491.914,531.333,491.914,539.667,491.914,547.333C491.914,555,491.914,562,491.914,565.5L491.914,569" id="mermaid-17-L_B3_C3_0" class=" edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_B3_C3_0" data-points="W3sieCI6Mzc3LjAzMTI1LCJ5Ijo0NjQuMjI2NzU2NzY4Njk0fSx7IngiOjQ5MS45MTQwNjI1LCJ5Ijo0OTh9LHsieCI6NDkxLjkxNDA2MjUsInkiOjUyM30seyJ4Ijo0OTEuOTE0MDYyNSwieSI6NTQ4fSx7IngiOjQ5MS45MTQwNjI1LCJ5Ijo1NzN9XQ==" data-look="classic" marker-end="url(#mermaid-17_flowchart-v2-pointEnd)"></path></g><g class="edgeLabels"><g class="edgeLabel"><g class="label" data-id="L_A1_B1_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel "></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_A2_B1_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel "></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_A3_B1_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel "></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_B1_B2_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel "></span></div></foreignObject></g></g><g class="edgeLabel" transform="translate(133.82421875, 382)"><g class="label" data-id="L_B2_B3_0" transform="translate(-17.6484375, -12)"><foreignObject width="35.296875" height="30"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel "><p>Math</p></span></div></foreignObject></g></g><g class="edgeLabel" transform="translate(479.029296875, 382)"><g class="label" data-id="L_B2_B3_2" transform="translate(-29.70703125, -12)"><foreignObject width="59.4140625" height="30"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel "><p>Mermaid</p></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_B3_C1_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel "></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_B3_C2_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel "></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_B3_C3_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel "></span></div></foreignObject></g></g></g><g class="nodes"><g class="node default " id="mermaid-17-flowchart-A1-0" data-look="classic" transform="translate(140.44140625, 60)"><rect class="basic label-container" style="" x="-62" y="-27" width="124" height="60"></rect><g class="label" style="" transform="translate(-32, -12)"><rect></rect><foreignObject width="64" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel "><p>键盘输入</p></span></div></foreignObject></g></g><g class="node default " id="mermaid-17-flowchart-A2-1" data-look="classic" transform="translate(314.44140625, 60)"><rect class="basic label-container" style="" x="-62" y="-27" width="124" height="60"></rect><g class="label" style="" transform="translate(-32, -12)"><rect></rect><foreignObject width="64" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel "><p>文件拖拽</p></span></div></foreignObject></g></g><g class="node default " id="mermaid-17-flowchart-A3-2" data-look="classic" transform="translate(493.9140625, 60)"><rect class="basic label-container" style="" x="-67.47265625" y="-27" width="134.9453125" height="60"></rect><g class="label" style="" transform="translate(-37.47265625, -12)"><rect></rect><foreignObject width="74.9453125" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel "><p>Agent 修改</p></span></div></foreignObject></g></g><g class="node default " id="mermaid-17-flowchart-B1-3" data-look="classic" transform="translate(315.03125, 214)"><rect class="basic label-container" style="" x="-83.265625" y="-27" width="166.53125" height="60"></rect><g class="label" style="" transform="translate(-53.265625, -12)"><rect></rect><foreignObject width="106.53125" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel "><p>Markdown 解析</p></span></div></foreignObject></g></g><g class="node default " id="mermaid-17-flowchart-B2-4" data-look="classic" transform="translate(315.03125, 318)"><rect class="basic label-container" style="" x="-69.01953125" y="-27" width="138.0390625" height="60"></rect><g class="label" style="" transform="translate(-39.01953125, -12)"><rect></rect><foreignObject width="78.0390625" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel "><p>Plugin 识别</p></span></div></foreignObject></g></g><g class="node default " id="mermaid-17-flowchart-B3-5" data-look="classic" transform="translate(315.03125, 446)"><rect class="basic label-container" style="" x="-62" y="-27" width="124" height="60"></rect><g class="label" style="" transform="translate(-32, -12)"><rect></rect><foreignObject width="64" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel "><p>渲染引擎</p></span></div></foreignObject></g></g><g class="node default " id="mermaid-17-flowchart-C1-6" data-look="classic" transform="translate(133.03125, 600)"><rect class="basic label-container" style="" x="-70" y="-27" width="140" height="60"></rect><g class="label" style="" transform="translate(-40, -12)"><rect></rect><foreignObject width="80" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel "><p>富文本显示</p></span></div></foreignObject></g></g><g class="node default " id="mermaid-17-flowchart-C2-7" data-look="classic" transform="translate(315.03125, 600)"><rect class="basic label-container" style="" x="-62" y="-27" width="124" height="60"></rect><g class="label" style="" transform="translate(-32, -12)"><rect></rect><foreignObject width="64" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel "><p>源码显示</p></span></div></foreignObject></g></g><g class="node default " id="mermaid-17-flowchart-C3-8" data-look="classic" transform="translate(491.9140625, 600)"><rect class="basic label-container" style="" x="-64.8828125" y="-27" width="129.765625" height="60"></rect><g class="label" style="" transform="translate(-34.8828125, -12)"><rect></rect><foreignObject width="69.765625" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel "><p>PNG 导出</p></span></div></foreignObject></g></g></g></g></g><defs><filter id="mermaid-17-drop-shadow" height="130%" width="130%"><feDropShadow dx="4" dy="4" stdDeviation="0" flood-opacity="0.06" flood-color="#000000"></feDropShadow></filter></defs><defs><filter id="mermaid-17-drop-shadow-small" height="150%" width="150%"><feDropShadow dx="2" dy="2" stdDeviation="0" flood-opacity="0.06" flood-color="#000000"></feDropShadow></filter></defs></svg></div></div><h3 id="2.18-zenuml图">2.18 ZENUML图</h3><div class="mermaid-block" data-mermaid="zenuml
693
+ title Order Service
694
+
695
+ @Actor Client #FFEBE6
696
+ @Boundary OrderController #0747A6
697
+ @EC2 <<BFF>> OrderService #E3FCEF
698
+
699
+ group BusinessService {
700
+ @Lambda PurchaseService
701
+ @AzureFunction InvoiceService
702
+ }
703
+
704
+ @Starter(Client)
705
+ // POST /orders
706
+ OrderController.post(payload) {
707
+ OrderService.create(payload) {
708
+ order = new Order(payload)
709
+ if (order != null) {
710
+ par {
711
+ PurchaseService.createPO(order)
712
+ InvoiceService.createInvoice(order)
713
+ }
714
+ }
715
+ }
716
+ }" contenteditable="false"><div class="mermaid-preview"><div class="mermaid-error" style="display: none;">Error: No diagram type detected matching given configuration for text: zenuml
717
+ title Order Service
718
+
719
+ @Actor Client #FFEBE6
720
+ @Boundary OrderController #0747A6
721
+ @EC2 &lt;&lt;BFF&gt;&gt; OrderService #E3FCEF
722
+
723
+ group BusinessService {
724
+ @Lambda PurchaseService
725
+ @AzureFunction InvoiceService
726
+ }
727
+
728
+ @Starter(Client)
729
+ // POST /orders
730
+ OrderController.post(payload) {
731
+ OrderService.create(payload) {
732
+ order = new Order(payload)
733
+ if (order != null) {
734
+ par {
735
+ PurchaseService.createPO(order)
736
+ InvoiceService.createInvoice(order)
737
+ }
738
+ }
739
+ }
740
+ }</div></div></div><hr contenteditable="false"><h2 id="三、混合内容演示">三、混合内容演示</h2><p>以下段落同时包含 <strong>行内公式</strong>、<strong>块级公式</strong> 和 <strong>Mermaid 图表</strong>,展示插件的协同工作能力:</p><p>在机器学习领域,线性回归模型的损失函数定义为:</p><div class="math-block" data-math="J(\theta) = \frac{1}{2m} \sum_{i=1}^{m} \left( h_\theta(x^{(i)}) - y^{(i)} \right)^2" contenteditable="false"><span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>J</mi><mo stretchy="false">(</mo><mi>θ</mi><mo stretchy="false">)</mo><mo>=</mo><mfrac><mn>1</mn><mrow><mn>2</mn><mi>m</mi></mrow></mfrac><munderover><mo>∑</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>m</mi></munderover><msup><mrow><mo fence="true">(</mo><msub><mi>h</mi><mi>θ</mi></msub><mo stretchy="false">(</mo><msup><mi>x</mi><mrow><mo stretchy="false">(</mo><mi>i</mi><mo stretchy="false">)</mo></mrow></msup><mo stretchy="false">)</mo><mo>−</mo><msup><mi>y</mi><mrow><mo stretchy="false">(</mo><mi>i</mi><mo stretchy="false">)</mo></mrow></msup><mo fence="true">)</mo></mrow><mn>2</mn></msup></mrow><annotation encoding="application/x-tex">J(\theta) = \frac{1}{2m} \sum_{i=1}^{m} \left( h_\theta(x^{(i)}) - y^{(i)} \right)^2</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal" style="margin-right:0.0962em;">J</span><span class="mopen">(</span><span class="mord mathnormal" style="margin-right:0.0278em;">θ</span><span class="mclose">)</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:2.9291em;vertical-align:-1.2777em;"></span><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.3214em;"><span style="top:-2.314em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord">2</span><span class="mord mathnormal">m</span></span></span><span style="top:-3.23em;"><span class="pstrut" style="height:3em;"></span><span class="frac-line" style="border-bottom-width:0.04em;"></span></span><span style="top:-3.677em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord">1</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.686em;"><span></span></span></span></span></span><span class="mclose nulldelimiter"></span></span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mop op-limits"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.6514em;"><span style="top:-1.8723em;margin-left:0em;"><span class="pstrut" style="height:3.05em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">i</span><span class="mrel mtight">=</span><span class="mord mtight">1</span></span></span></span><span style="top:-3.05em;"><span class="pstrut" style="height:3.05em;"></span><span><span class="mop op-symbol large-op">∑</span></span></span><span style="top:-4.3em;margin-left:0em;"><span class="pstrut" style="height:3.05em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">m</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:1.2777em;"><span></span></span></span></span></span><span class="mspace" style="margin-right:0.1667em;"></span><span class="minner"><span class="minner"><span class="mopen delimcenter" style="top:0em;"><span class="delimsizing size2">(</span></span><span class="mord"><span class="mord mathnormal">h</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3361em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight" style="margin-right:0.0278em;">θ</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord"><span class="mord mathnormal">x</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.938em;"><span style="top:-3.113em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mopen mtight">(</span><span class="mord mathnormal mtight">i</span><span class="mclose mtight">)</span></span></span></span></span></span></span></span></span><span class="mclose">)</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">−</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0359em;">y</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.938em;"><span style="top:-3.113em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mopen mtight">(</span><span class="mord mathnormal mtight">i</span><span class="mclose mtight">)</span></span></span></span></span></span></span></span></span><span class="mclose delimcenter" style="top:0em;"><span class="delimsizing size2">)</span></span></span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:1.354em;"><span style="top:-3.6029em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">2</span></span></span></span></span></span></span></span></span></span></span></span></div><p>其中 <span class="math-inline" data-math="h_\theta(x) = \theta^T x" contenteditable="false"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>h</mi><mi>θ</mi></msub><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo><mo>=</mo><msup><mi>θ</mi><mi>T</mi></msup><mi>x</mi></mrow><annotation encoding="application/x-tex">h_\theta(x) = \theta^T x</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord"><span class="mord mathnormal">h</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3361em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight" style="margin-right:0.0278em;">θ</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord mathnormal">x</span><span class="mclose">)</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.8413em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0278em;">θ</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8413em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight" style="margin-right:0.1389em;">T</span></span></span></span></span></span></span></span><span class="mord mathnormal">x</span></span></span></span></span> 是假设函数,<span class="math-inline" data-math="m" contenteditable="false"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>m</mi></mrow><annotation encoding="application/x-tex">m</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">m</span></span></span></span></span> 是样本数量。梯度下降算法的更新规则为:</p><div class="math-block" data-math="\theta_j := \theta_j - \alpha \frac{\partial}{\partial \theta_j} J(\theta)" contenteditable="false"><span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mi>θ</mi><mi>j</mi></msub><mo>:</mo><mo>=</mo><msub><mi>θ</mi><mi>j</mi></msub><mo>−</mo><mi>α</mi><mfrac><mi mathvariant="normal">∂</mi><mrow><mi mathvariant="normal">∂</mi><msub><mi>θ</mi><mi>j</mi></msub></mrow></mfrac><mi>J</mi><mo stretchy="false">(</mo><mi>θ</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">\theta_j := \theta_j - \alpha \frac{\partial}{\partial \theta_j} J(\theta)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.9805em;vertical-align:-0.2861em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0278em;">θ</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3117em;"><span style="top:-2.55em;margin-left:-0.0278em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight" style="margin-right:0.0572em;">j</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.2861em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">:=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.9805em;vertical-align:-0.2861em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0278em;">θ</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3117em;"><span style="top:-2.55em;margin-left:-0.0278em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight" style="margin-right:0.0572em;">j</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.2861em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">−</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:2.3435em;vertical-align:-0.9721em;"></span><span class="mord mathnormal" style="margin-right:0.0037em;">α</span><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.3714em;"><span style="top:-2.314em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord" style="margin-right:0.0556em;">∂</span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0278em;">θ</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3117em;"><span style="top:-2.55em;margin-left:-0.0278em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight" style="margin-right:0.0572em;">j</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.2861em;"><span></span></span></span></span></span></span></span></span><span style="top:-3.23em;"><span class="pstrut" style="height:3em;"></span><span class="frac-line" style="border-bottom-width:0.04em;"></span></span><span style="top:-3.677em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord" style="margin-right:0.0556em;">∂</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.9721em;"><span></span></span></span></span></span><span class="mclose nulldelimiter"></span></span><span class="mord mathnormal" style="margin-right:0.0962em;">J</span><span class="mopen">(</span><span class="mord mathnormal" style="margin-right:0.0278em;">θ</span><span class="mclose">)</span></span></span></span></span></div><p>下面是一个机器学习工作流的流程图:</p><div class="mermaid-block" data-mermaid="graph LR
741
+ A[原始数据] --> B[数据预处理]
742
+ B --> C[特征工程]
743
+ C --> D[模型训练]
744
+ D --> E{模型评估}
745
+ E -->|准确率达标| F[模型部署]
746
+ E -->|准确率不足| G[调参优化]
747
+ G --> D
748
+ F --> H[预测服务]" contenteditable="false"><div class="mermaid-preview"><svg id="mermaid-19" width="100%" xmlns="http://www.w3.org/2000/svg" class="flowchart" style="max-width: 1274px;" viewBox="0 0 1274 201" role="graphics-document document" aria-roledescription="flowchart-v2"><style>#mermaid-19{font-family:"LXGW WenKai","Noto Serif SC","Source Han Serif SC","Songti SC",Georgia,serif;font-size:16px;fill:#3d3530;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-19 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-19 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-19 .error-icon{fill:#552222;}#mermaid-19 .error-text{fill:#552222;stroke:#552222;}#mermaid-19 .edge-thickness-normal{stroke-width:1px;}#mermaid-19 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-19 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-19 .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-19 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-19 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-19 .marker{fill:#b0a89f;stroke:#b0a89f;}#mermaid-19 .marker.cross{stroke:#b0a89f;}#mermaid-19 svg{font-family:"LXGW WenKai","Noto Serif SC","Source Han Serif SC","Songti SC",Georgia,serif;font-size:16px;}#mermaid-19 p{margin:0;}#mermaid-19 .label{font-family:"LXGW WenKai","Noto Serif SC","Source Han Serif SC","Songti SC",Georgia,serif;color:#3d3530;}#mermaid-19 .cluster-label text{fill:#3d3530;}#mermaid-19 .cluster-label span{color:#3d3530;}#mermaid-19 .cluster-label span p{background-color:transparent;}#mermaid-19 .label text,#mermaid-19 span{fill:#3d3530;color:#3d3530;}#mermaid-19 .node rect,#mermaid-19 .node circle,#mermaid-19 .node ellipse,#mermaid-19 .node polygon,#mermaid-19 .node path{fill:#ddd5cb;stroke:#b0a89f;stroke-width:1px;}#mermaid-19 .rough-node .label text,#mermaid-19 .node .label text,#mermaid-19 .image-shape .label,#mermaid-19 .icon-shape .label{text-anchor:middle;}#mermaid-19 .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-19 .rough-node .label,#mermaid-19 .node .label,#mermaid-19 .image-shape .label,#mermaid-19 .icon-shape .label{text-align:center;}#mermaid-19 .node.clickable{cursor:pointer;}#mermaid-19 .root .anchor path{fill:#b0a89f!important;stroke-width:0;stroke:#b0a89f;}#mermaid-19 .arrowheadPath{fill:#b0a89f;}#mermaid-19 .edgePath .path{stroke:#b0a89f;stroke-width:1px;}#mermaid-19 .flowchart-link{stroke:#b0a89f;fill:none;}#mermaid-19 .edgeLabel{background-color:#e8e2db;text-align:center;}#mermaid-19 .edgeLabel p{background-color:#e8e2db;}#mermaid-19 .edgeLabel rect{opacity:0.5;background-color:#e8e2db;fill:#e8e2db;}#mermaid-19 .labelBkg{background-color:rgba(232, 226, 219, 0.5);}#mermaid-19 .cluster rect{fill:#e0d8cf;stroke:#b0a89f;stroke-width:1px;}#mermaid-19 .cluster text{fill:#3d3530;}#mermaid-19 .cluster span{color:#3d3530;}#mermaid-19 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"LXGW WenKai","Noto Serif SC","Source Han Serif SC","Songti SC",Georgia,serif;font-size:12px;background:#e8e2db;border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-19 .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#3d3530;}#mermaid-19 rect.text{fill:none;stroke-width:0;}#mermaid-19 .icon-shape,#mermaid-19 .image-shape{background-color:#e8e2db;text-align:center;}#mermaid-19 .icon-shape p,#mermaid-19 .image-shape p{background-color:#e8e2db;padding:2px;}#mermaid-19 .icon-shape .label rect,#mermaid-19 .image-shape .label rect{opacity:0.5;background-color:#e8e2db;fill:#e8e2db;}#mermaid-19 .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-19 .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-19 .node .neo-node{stroke:#b0a89f;}#mermaid-19 [data-look="neo"].node rect,#mermaid-19 [data-look="neo"].cluster rect,#mermaid-19 [data-look="neo"].node polygon{stroke:#b0a89f;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-19 [data-look="neo"].node path{stroke:#b0a89f;stroke-width:1px;}#mermaid-19 [data-look="neo"].node .outer-path{filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-19 [data-look="neo"].node .neo-line path{stroke:#b0a89f;filter:none;}#mermaid-19 [data-look="neo"].node circle{stroke:#b0a89f;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-19 [data-look="neo"].node circle .state-start{fill:#000000;}#mermaid-19 [data-look="neo"].icon-shape .icon{fill:#b0a89f;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-19 [data-look="neo"].icon-shape .icon-neo path{stroke:#b0a89f;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#mermaid-19 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}</style><g><marker id="mermaid-19_flowchart-v2-pointEnd" class="marker flowchart-v2" viewBox="0 0 10 10" refX="5" refY="5" markerUnits="userSpaceOnUse" markerWidth="8" markerHeight="8" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"></path></marker><marker id="mermaid-19_flowchart-v2-pointStart" class="marker flowchart-v2" viewBox="0 0 10 10" refX="4.5" refY="5" markerUnits="userSpaceOnUse" markerWidth="8" markerHeight="8" orient="auto"><path d="M 0 5 L 10 10 L 10 0 z" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"></path></marker><marker id="mermaid-19_flowchart-v2-pointEnd-margin" class="marker flowchart-v2" viewBox="0 0 11.5 14" refX="11.5" refY="7" markerUnits="userSpaceOnUse" markerWidth="10.5" markerHeight="14" orient="auto"><path d="M 0 0 L 11.5 7 L 0 14 z" class="arrowMarkerPath" style="stroke-width: 0; stroke-dasharray: 1, 0;"></path></marker><marker id="mermaid-19_flowchart-v2-pointStart-margin" class="marker flowchart-v2" viewBox="0 0 11.5 14" refX="1" refY="7" markerUnits="userSpaceOnUse" markerWidth="11.5" markerHeight="14" orient="auto"><polygon points="0,7 11.5,14 11.5,0" class="arrowMarkerPath" style="stroke-width: 0; stroke-dasharray: 1, 0;"></polygon></marker><marker id="mermaid-19_flowchart-v2-circleEnd" class="marker flowchart-v2" viewBox="0 0 10 10" refX="11" refY="5" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"></circle></marker><marker id="mermaid-19_flowchart-v2-circleStart" class="marker flowchart-v2" viewBox="0 0 10 10" refX="-1" refY="5" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"></circle></marker><marker id="mermaid-19_flowchart-v2-circleEnd-margin" class="marker flowchart-v2" viewBox="0 0 10 10" refY="5" refX="12.25" markerUnits="userSpaceOnUse" markerWidth="14" markerHeight="14" orient="auto"><circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 0; stroke-dasharray: 1, 0;"></circle></marker><marker id="mermaid-19_flowchart-v2-circleStart-margin" class="marker flowchart-v2" viewBox="0 0 10 10" refX="-2" refY="5" markerUnits="userSpaceOnUse" markerWidth="14" markerHeight="14" orient="auto"><circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 0; stroke-dasharray: 1, 0;"></circle></marker><marker id="mermaid-19_flowchart-v2-crossEnd" class="marker cross flowchart-v2" viewBox="0 0 11 11" refX="12" refY="5.2" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><path d="M 1,1 l 9,9 M 10,1 l -9,9" class="arrowMarkerPath" style="stroke-width: 2; stroke-dasharray: 1, 0;"></path></marker><marker id="mermaid-19_flowchart-v2-crossStart" class="marker cross flowchart-v2" viewBox="0 0 11 11" refX="-1" refY="5.2" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><path d="M 1,1 l 9,9 M 10,1 l -9,9" class="arrowMarkerPath" style="stroke-width: 2; stroke-dasharray: 1, 0;"></path></marker><marker id="mermaid-19_flowchart-v2-crossEnd-margin" class="marker cross flowchart-v2" viewBox="0 0 15 15" refX="17.7" refY="7.5" markerUnits="userSpaceOnUse" markerWidth="12" markerHeight="12" orient="auto"><path d="M 1,1 L 14,14 M 1,14 L 14,1" class="arrowMarkerPath" style="stroke-width: 2.5;"></path></marker><marker id="mermaid-19_flowchart-v2-crossStart-margin" class="marker cross flowchart-v2" viewBox="0 0 15 15" refX="-3.5" refY="7.5" markerUnits="userSpaceOnUse" markerWidth="12" markerHeight="12" orient="auto"><path d="M 1,1 L 14,14 M 1,14 L 14,1" class="arrowMarkerPath" style="stroke-width: 2.5; stroke-dasharray: 1, 0;"></path></marker><g class="root"><g class="clusters"></g><g class="edgePaths"><path d="M132,114L136.167,114C140.333,114,148.667,114,156.333,114C164,114,171,114,174.5,114L178,114" id="mermaid-19-L_A_B_0" class=" edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_A_B_0" data-points="W3sieCI6MTMyLCJ5IjoxMTR9LHsieCI6MTU3LCJ5IjoxMTR9LHsieCI6MTgyLCJ5IjoxMTR9XQ==" data-look="classic" marker-end="url(#mermaid-19_flowchart-v2-pointEnd)"></path><path d="M322,114L326.167,114C330.333,114,338.667,114,346.333,114C354,114,361,114,364.5,114L368,114" id="mermaid-19-L_B_C_0" class=" edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_B_C_0" data-points="W3sieCI6MzIyLCJ5IjoxMTR9LHsieCI6MzQ3LCJ5IjoxMTR9LHsieCI6MzcyLCJ5IjoxMTR9XQ==" data-look="classic" marker-end="url(#mermaid-19_flowchart-v2-pointEnd)"></path><path d="M496,114L500.167,114C504.333,114,512.667,114,520.333,114C528,114,535,114,538.5,114L542,114" id="mermaid-19-L_C_D_0" class=" edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_C_D_0" data-points="W3sieCI6NDk2LCJ5IjoxMTR9LHsieCI6NTIxLCJ5IjoxMTR9LHsieCI6NTQ2LCJ5IjoxMTR9XQ==" data-look="classic" marker-end="url(#mermaid-19_flowchart-v2-pointEnd)"></path><path d="M657.979,87L664.149,83.667C670.319,80.333,682.66,73.667,692.33,70.333C702,67,709,67,712.5,67L716,67" id="mermaid-19-L_D_E_0" class=" edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_D_E_0" data-points="W3sieCI6NjU3Ljk3ODcyMzQwNDI1NTMsInkiOjg3fSx7IngiOjY5NSwieSI6Njd9LHsieCI6NzIwLCJ5Ijo2N31d" data-look="classic" marker-end="url(#mermaid-19_flowchart-v2-pointEnd)"></path><path d="M829.11,58.11L841.425,55.925C853.74,53.74,878.37,49.37,900.852,47.185C923.333,45,943.667,45,953.833,45L964,45" id="mermaid-19-L_E_F_0" class=" edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_E_F_0" data-points="W3sieCI6ODI5LjEwOTU4OTA0MTA5NTksInkiOjU4LjEwOTU4OTA0MTA5NTg5fSx7IngiOjkwMywieSI6NDV9LHsieCI6OTY4LCJ5Ijo0NX1d" data-look="classic" marker-end="url(#mermaid-19_flowchart-v2-pointEnd)"></path><path d="M820.568,84.432L834.307,90.193C848.045,95.955,875.523,107.477,899.469,117.016C923.416,126.556,943.832,134.111,954.041,137.889L964.249,141.667" id="mermaid-19-L_E_G_0" class=" edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_E_G_0" data-points="W3sieCI6ODIwLjU2ODE4MTgxODE4MTksInkiOjg0LjQzMTgxODE4MTgxODE5fSx7IngiOjkwMywieSI6MTE5fSx7IngiOjk2OCwieSI6MTQzLjA1NTExODExMDIzNjJ9XQ==" data-look="classic" marker-end="url(#mermaid-19_flowchart-v2-pointEnd)"></path><path d="M968,173.811L957.167,175.176C946.333,176.541,924.667,179.27,893.167,180.635C861.667,182,820.333,182,785.667,182C751,182,723,182,700.783,175.577C678.565,169.154,662.13,156.309,653.913,149.886L645.696,143.463" id="mermaid-19-L_G_D_0" class=" edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_G_D_0" data-points="W3sieCI6OTY4LCJ5IjoxNzMuODExMDIzNjIyMDQ3MjN9LHsieCI6OTAzLCJ5IjoxODJ9LHsieCI6Nzc5LCJ5IjoxODJ9LHsieCI6Njk1LCJ5IjoxODJ9LHsieCI6NjQyLjU0NDExNzY0NzA1ODgsInkiOjE0MX1d" data-look="classic" marker-end="url(#mermaid-19_flowchart-v2-pointEnd)"></path><path d="M1092,45L1096.167,45C1100.333,45,1108.667,45,1116.333,45C1124,45,1131,45,1134.5,45L1138,45" id="mermaid-19-L_F_H_0" class=" edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_F_H_0" data-points="W3sieCI6MTA5MiwieSI6NDV9LHsieCI6MTExNywieSI6NDV9LHsieCI6MTE0MiwieSI6NDV9XQ==" data-look="classic" marker-end="url(#mermaid-19_flowchart-v2-pointEnd)"></path></g><g class="edgeLabels"><g class="edgeLabel"><g class="label" data-id="L_A_B_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel "></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_B_C_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel "></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_C_D_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel "></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_D_E_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel "></span></div></foreignObject></g></g><g class="edgeLabel" transform="translate(903, 45)"><g class="label" data-id="L_E_F_0" transform="translate(-40, -12)"><foreignObject width="80" height="30"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel "><p>准确率达标</p></span></div></foreignObject></g></g><g class="edgeLabel" transform="translate(893.74198, 115.1176)"><g class="label" data-id="L_E_G_0" transform="translate(-40, -12)"><foreignObject width="80" height="30"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel "><p>准确率不足</p></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_G_D_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel "></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_F_H_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel "></span></div></foreignObject></g></g></g><g class="nodes"><g class="node default " id="mermaid-19-flowchart-A-0" data-look="classic" transform="translate(70, 114)"><rect class="basic label-container" style="" x="-62" y="-27" width="124" height="60"></rect><g class="label" style="" transform="translate(-32, -12)"><rect></rect><foreignObject width="64" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel "><p>原始数据</p></span></div></foreignObject></g></g><g class="node default " id="mermaid-19-flowchart-B-1" data-look="classic" transform="translate(252, 114)"><rect class="basic label-container" style="" x="-70" y="-27" width="140" height="60"></rect><g class="label" style="" transform="translate(-40, -12)"><rect></rect><foreignObject width="80" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel "><p>数据预处理</p></span></div></foreignObject></g></g><g class="node default " id="mermaid-19-flowchart-C-3" data-look="classic" transform="translate(434, 114)"><rect class="basic label-container" style="" x="-62" y="-27" width="124" height="60"></rect><g class="label" style="" transform="translate(-32, -12)"><rect></rect><foreignObject width="64" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel "><p>特征工程</p></span></div></foreignObject></g></g><g class="node default " id="mermaid-19-flowchart-D-5" data-look="classic" transform="translate(608, 114)"><rect class="basic label-container" style="" x="-62" y="-27" width="124" height="60"></rect><g class="label" style="" transform="translate(-32, -12)"><rect></rect><foreignObject width="64" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel "><p>模型训练</p></span></div></foreignObject></g></g><g class="node default " id="mermaid-19-flowchart-E-7" data-look="classic" transform="translate(779, 67)"><polygon points="59,0 118,-59 59,-118 0,-59" class="label-container" transform="translate(-58.5, 59)"></polygon><g class="label" style="" transform="translate(-32, -12)"><rect></rect><foreignObject width="64" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel "><p>模型评估</p></span></div></foreignObject></g></g><g class="node default " id="mermaid-19-flowchart-F-9" data-look="classic" transform="translate(1030, 45)"><rect class="basic label-container" style="" x="-62" y="-27" width="124" height="60"></rect><g class="label" style="" transform="translate(-32, -12)"><rect></rect><foreignObject width="64" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel "><p>模型部署</p></span></div></foreignObject></g></g><g class="node default " id="mermaid-19-flowchart-G-11" data-look="classic" transform="translate(1030, 166)"><rect class="basic label-container" style="" x="-62" y="-27" width="124" height="60"></rect><g class="label" style="" transform="translate(-32, -12)"><rect></rect><foreignObject width="64" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel "><p>调参优化</p></span></div></foreignObject></g></g><g class="node default " id="mermaid-19-flowchart-H-15" data-look="classic" transform="translate(1204, 45)"><rect class="basic label-container" style="" x="-62" y="-27" width="124" height="60"></rect><g class="label" style="" transform="translate(-32, -12)"><rect></rect><foreignObject width="64" height="30"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel "><p>预测服务</p></span></div></foreignObject></g></g></g></g></g><defs><filter id="mermaid-19-drop-shadow" height="130%" width="130%"><feDropShadow dx="4" dy="4" stdDeviation="0" flood-opacity="0.06" flood-color="#000000"></feDropShadow></filter></defs><defs><filter id="mermaid-19-drop-shadow-small" height="150%" width="150%"><feDropShadow dx="2" dy="2" stdDeviation="0" flood-opacity="0.06" flood-color="#000000"></feDropShadow></filter></defs></svg></div></div><p>神经网络的反向传播可以用矩阵形式表示。设第 <span class="math-inline" data-math="l" contenteditable="false"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>l</mi></mrow><annotation encoding="application/x-tex">l</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6944em;"></span><span class="mord mathnormal" style="margin-right:0.0197em;">l</span></span></span></span></span> 层的误差为 <span class="math-inline" data-math="\delta^{(l)}" contenteditable="false"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>δ</mi><mrow><mo stretchy="false">(</mo><mi>l</mi><mo stretchy="false">)</mo></mrow></msup></mrow><annotation encoding="application/x-tex">\delta^{(l)}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.888em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0379em;">δ</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.888em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mopen mtight">(</span><span class="mord mathnormal mtight" style="margin-right:0.0197em;">l</span><span class="mclose mtight">)</span></span></span></span></span></span></span></span></span></span></span></span></span>,则:</p><div class="math-block" data-math="\delta^{(l)} = \left( (W^{(l)})^T \delta^{(l+1)} \right) \odot \sigma'(z^{(l)})" contenteditable="false"><span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msup><mi>δ</mi><mrow><mo stretchy="false">(</mo><mi>l</mi><mo stretchy="false">)</mo></mrow></msup><mo>=</mo><mrow><mo fence="true">(</mo><mo stretchy="false">(</mo><msup><mi>W</mi><mrow><mo stretchy="false">(</mo><mi>l</mi><mo stretchy="false">)</mo></mrow></msup><msup><mo stretchy="false">)</mo><mi>T</mi></msup><msup><mi>δ</mi><mrow><mo stretchy="false">(</mo><mi>l</mi><mo>+</mo><mn>1</mn><mo stretchy="false">)</mo></mrow></msup><mo fence="true">)</mo></mrow><mo>⊙</mo><msup><mi>σ</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo stretchy="false">(</mo><msup><mi>z</mi><mrow><mo stretchy="false">(</mo><mi>l</mi><mo stretchy="false">)</mo></mrow></msup><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">\delta^{(l)} = \left( (W^{(l)})^T \delta^{(l+1)} \right) \odot \sigma'(z^{(l)})</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.938em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0379em;">δ</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.938em;"><span style="top:-3.113em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mopen mtight">(</span><span class="mord mathnormal mtight" style="margin-right:0.0197em;">l</span><span class="mclose mtight">)</span></span></span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1.8em;vertical-align:-0.65em;"></span><span class="minner"><span class="mopen delimcenter" style="top:0em;"><span class="delimsizing size2">(</span></span><span class="mopen">(</span><span class="mord"><span class="mord mathnormal" style="margin-right:0.1389em;">W</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.938em;"><span style="top:-3.113em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mopen mtight">(</span><span class="mord mathnormal mtight" style="margin-right:0.0197em;">l</span><span class="mclose mtight">)</span></span></span></span></span></span></span></span></span><span class="mclose"><span class="mclose">)</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8913em;"><span style="top:-3.113em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight" style="margin-right:0.1389em;">T</span></span></span></span></span></span></span></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0379em;">δ</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.938em;"><span style="top:-3.113em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mopen mtight">(</span><span class="mord mathnormal mtight" style="margin-right:0.0197em;">l</span><span class="mbin mtight">+</span><span class="mord mtight">1</span><span class="mclose mtight">)</span></span></span></span></span></span></span></span></span><span class="mclose delimcenter" style="top:0em;"><span class="delimsizing size2">)</span></span></span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">⊙</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:1.188em;vertical-align:-0.25em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0359em;">σ</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8019em;"><span style="top:-3.113em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">′</span></span></span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord"><span class="mord mathnormal" style="margin-right:0.044em;">z</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.938em;"><span style="top:-3.113em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mopen mtight">(</span><span class="mord mathnormal mtight" style="margin-right:0.0197em;">l</span><span class="mclose mtight">)</span></span></span></span></span></span></span></span></span><span class="mclose">)</span></span></span></span></span></div><p>其中 <span class="math-inline" data-math="\odot" contenteditable="false"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo>⊙</mo></mrow><annotation encoding="application/x-tex">\odot</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6667em;vertical-align:-0.0833em;"></span><span class="mord">⊙</span></span></span></span></span> 表示 Hadamard 积,<span class="math-inline" data-math="\sigma'" contenteditable="false"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>σ</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow><annotation encoding="application/x-tex">\sigma'</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.7519em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0359em;">σ</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.7519em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">′</span></span></span></span></span></span></span></span></span></span></span></span></span> 是激活函数的导数。</p><hr contenteditable="false"><h2 id="四、操作指南">四、操作指南</h2><h3 id="切换渲染模式">切换渲染模式</h3><ol data-spread="false"><li data-label="1." data-list-type="ordered" data-spread="false"><p>点击顶部菜单栏 <strong>Plug</strong></p></li><li data-label="2." data-list-type="ordered" data-spread="false"><p>选择 <strong>Math</strong> 或 <strong>Mermaid</strong></p></li><li data-label="3." data-list-type="ordered" data-spread="false"><p>点击 <strong>Rendered</strong> 查看渲染效果,或 <strong>Raw</strong> 查看/编辑源码</p></li></ol><h3 id="导出为-png">导出为 PNG</h3><ul data-spread="true"><li data-label="•" data-list-type="bullet" data-spread="false"><p><strong>Math 公式</strong>:右键点击公式 → <strong>Save Equation as PNG</strong></p></li><li data-label="•" data-list-type="bullet" data-spread="false"><p><strong>Mermaid 图表</strong>:右键点击图表 → <strong>Save Diagram as PNG</strong></p></li></ul><h3 id="编辑源码">编辑源码</h3><ol data-spread="false"><li data-label="1." data-list-type="ordered" data-spread="false"><p>切换到 <strong>Raw</strong> 模式</p></li><li data-label="2." data-list-type="ordered" data-spread="false"><p>在文本框中直接修改 LaTeX 或 Mermaid 代码</p></li><li data-label="3." data-list-type="ordered" data-spread="false"><p>点击编辑器其他区域失焦,自动保存并重新渲染</p></li></ol><hr contenteditable="false"><blockquote><p><strong>提示</strong>:本文档中的所有公式和图表均可在 <strong>Rendered</strong> 和 <strong>Raw</strong> 模式之间自由切换,体验 ColaMD 的插件渲染控制能力。</p></blockquote></body></html>