mirror of
https://github.com/MoonshotAI/kimi-code.git
synced 2026-07-09 17:29:12 +00:00
feat(web): add Mermaid diagram rendering and off-thread KaTeX/Mermaid workers (#1226)
* feat(web): add Mermaid diagram rendering and off-thread KaTeX/Mermaid workers Enable Mermaid diagram support in the web chat via markstream-vue's enableMermaid(). Set up Web Workers for both KaTeX rendering and Mermaid parsing using markstream-vue's pre-built workers (katexRenderer.worker, mermaidParser.worker), keeping heavy computation off the main thread during live streaming. * fix(web): skip Mermaid SVG subtrees in file link and markdown link rewriters processFileLinks() uses a TreeWalker that scans all text nodes in mdRef. Mermaid diagrams render as inline SVG, and diagram labels containing file-path-like strings (e.g. src/App.vue) would be replaced with HTML <button> elements inside SVG <text> nodes, corrupting the rendered diagram. processMarkdownLinks() similarly queries a[href] inside SVGs; while isLocalLink() mostly filters these out, explicitly skipping SVG subtrees is safer. Add svg to the closest() exclusion in processFileLinks(), and skip links inside svg in processMarkdownLinks(). * fix(web): satisfy worker import lint * chore: align mermaid dependency versions * chore: change mermaid workers changeset to patch --------- Co-authored-by: qer <wbxl2000@outlook.com>
This commit is contained in:
parent
8ac337a2b2
commit
7f05f589e7
7 changed files with 70 additions and 4 deletions
|
|
@ -12,7 +12,7 @@
|
|||
"vitepress": "^1.5.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"mermaid": "^11.12.2",
|
||||
"mermaid": "^11.15.0",
|
||||
"vitepress-plugin-llms": "^1.10.0",
|
||||
"vitepress-plugin-mermaid": "^2.0.17"
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue