快速开始
最短路径只包含三部分:markdown-it 插件 浏览器运行时 与样式表
安装运行时链路
bash
bun install markdown-it markdown-it-mermaid-enhanced mermaid注册 markdown-it 插件
ts
import MarkdownIt from 'markdown-it'
import markdownItMermaidEnhanced from 'markdown-it-mermaid-enhanced'
const markdown = new MarkdownIt().use(markdownItMermaidEnhanced, {
theme: 'auto',
renderEngine: 'mermaidjs',
minHeight: '160px',
})载入浏览器运行时
ts
import 'markdown-it-mermaid-enhanced/styles.css'
import { initMermaidIt } from 'markdown-it-mermaid-enhanced/runtime'
const html = markdown.render(`
\`\`\`mermaid
flowchart LR
A[Build] --> B[Deploy]
\`\`\`
`)
document.querySelector('#app')!.innerHTML = html
await initMermaidIt(document.querySelector('#app')!)VitePress 接线
ts
import { defineConfig } from 'vitepress'
import markdownItMermaidEnhanced from 'markdown-it-mermaid-enhanced'
export default defineConfig({
markdown: {
config: (md) => {
md.use(markdownItMermaidEnhanced, {
theme: 'auto',
renderEngine: 'mermaidjs',
minHeight: '160px',
})
},
},
})ts
import type { Theme } from 'vitepress'
import DefaultTheme from 'vitepress/theme'
import 'markdown-it-mermaid-enhanced/styles.css'
import mermaidPlugin from 'markdown-it-mermaid-enhanced/vitepress'
export default {
extends: DefaultTheme,
enhanceApp(ctx) {
mermaidPlugin(ctx, { waitFor: 'animation-frame' })
},
} satisfies Theme第一张图
Loading diagram…
文档站默认高度
文档站通常比博客正文更依赖宽图,所以默认高度一般会再向上抬一层
css
.VPDoc {
--mermaid-it-min-height: 220px;
}