一个综合性的 VitePress 插件,集成了 Markmap 和 Mermaid 图表预览功能,为 Markdown 文档提供增强的图表支持。
npm install vitepress-plugin-legend # 或 pnpm add vitepress-plugin-legend # 或 yarn add vitepress-plugin-legend
在 VitePress 配置中添加插件:
// .vitepress/config.ts import { defineConfig } from 'vitepress'; import { vitepressPluginLegend } from 'vitepress-plugin-legend'; export default defineConfig({ markdown: { config(md) { vitepressPluginLegend(md); }, }, });
在主题中注册 Vue 组件:
// .vitepress/theme/index.ts import type { Theme } from 'vitepress'; import DefaultTheme from 'vitepress/theme'; import { initComponent } from 'vitepress-plugin-legend/component'; import 'vitepress-plugin-legend/dist/index.css'; export default { extends: DefaultTheme, enhanceApp({ app }) { initComponent(app); }, } satisfies Theme;
// .vitepress/config.ts import { defineConfig } from 'vitepress'; import { vitepressPluginLegend } from 'vitepress-plugin-legend'; export default defineConfig({ markdown: { config(md) { vitepressPluginLegend(md, { markmap: { showToolbar: true, // 其他 markmap 选项 }, mermaid: true, // 或 false 禁用 }); }, }, });
如果你更喜欢单独使用插件:
// .vitepress/config.ts import { defineConfig } from 'vitepress'; import { vitepressMarkmapPreview, vitepressMermaidPreview, } from 'vitepress-plugin-legend'; export default defineConfig({ markdown: { config(md) { vitepressMarkmapPreview(md, { showToolbar: true }); vitepressMermaidPreview(md); }, }, });
// .vitepress/theme/index.ts import type { Theme } from 'vitepress'; import DefaultTheme from 'vitepress/theme'; import { initMarkmapComponent, initMermaidComponent, } from 'vitepress-plugin-legend/component'; export default { extends: DefaultTheme, enhanceApp({ app }) { initMarkmapComponent(app); initMermaidComponent(app); }, } satisfies Theme;
从 Markdown 列表创建思维导图:
```markmap # 根节点 ## 分支 1 - 项目 1 - 项目 2 ## 分支 2 - 项目 A - 项目 B ``` <PreviewMarkmapPath path="./other.md" showToolbar /> <PreviewMarkmapPath />
创建各种图表:
```mermaid graph TD A[开始] --> B{决策} B -->|是| C[动作 1] B -->|否| D[动作 2] ``` <PreviewMermaidPath path="./other.mmd" />
interface VitepressMarkmapPreviewOptions { showToolbar?: boolean; // 其他 markmap 配置选项 }
interface VitepressPluginLegendOptions { markmap?: VitepressMarkmapPreviewOptions | false; mermaid?: boolean; }
此插件集成了以下包:
包名 | 说明 | 版本 |
---|---|---|
vitepress-markmap-preview | Markdown 思维导图预览插件 | |
vitepress-mermaid-preview | Markdown Mermaid 图表预览插件 |
欢迎贡献!请随时提交 Pull Request 。
由 flingyp 用 制作