✨ feat(vscode): 代码阅读预览把注释、说明、问 AI 回答里的 mermaid 代码块画成图
- markdown.ts:mermaid 代码块出占位(源码转义后记在 data-source,里面先放原样的代码块);带增删的说明、逐字生成中的回答仍是普通代码块 - useMermaidDiagrams:页面上有占位才按需加载 mermaid(strict、跟 VS Code 字体),按源码 + 配色缓存 SVG,一次只画一张,换主题重画;画不出来留代码块、下面一行原因 - 打包:Vite 的按需加载辅助函数单独成块,加构建检查禁止别的块 import 入口(入口带 ?v= 加载,被 import 会整页再跑一遍、第二次拿 VS Code API 报错) - 主题明暗判断抽到 lib/vscodeTheme,看板的改动面板共用
This commit is contained in:
1 parent
bc84e74f29
commit
6dac457ed1
11 files changed
+1289
-24
No files matched your search
@@ -0,0 +1,10 @@
|
||||
/**
|
||||
* 当前 VS Code 主题是浅色还是深色:webview 的 body 带 `vscode-light` 或 `vscode-high-contrast-light` 是浅色,
|
||||
* 别的(`vscode-dark`、`vscode-high-contrast`)都算深色。主题切换时 VS Code 改的是 body 的 class。
|
||||
*/
|
||||
export function vscodeThemeKind(): 'light' | 'dark' {
|
||||
if (typeof document === 'undefined')
|
||||
return 'dark'
|
||||
const classes = document.body.classList
|
||||
return classes.contains('vscode-light') || classes.contains('vscode-high-contrast-light') ? 'light' : 'dark'
|
||||
}
|
||||
Reference in new issue
Block a user