docs: bundle mermaid locally for offline diagram rendering

This commit is contained in:
kyasuda
2026-02-10 13:24:05 -08:00
committed by sudacode
parent a37ab476dd
commit 9d49e9eaa8
3 changed files with 935 additions and 19 deletions
+2 -4
View File
@@ -1,16 +1,14 @@
import DefaultTheme from 'vitepress/theme';
import { useRoute } from 'vitepress';
import { nextTick, onMounted, watch } from 'vue';
import mermaid from 'mermaid';
import '@catppuccin/vitepress/theme/macchiato/mauve.css';
let mermaidLoader: Promise<any> | null = null;
async function getMermaid() {
if (!mermaidLoader) {
mermaidLoader = import(
/* @vite-ignore */ 'https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.esm.min.mjs'
).then((mod) => {
const mermaid = mod.default ?? mod;
mermaidLoader = Promise.resolve().then(() => {
mermaid.initialize({
startOnLoad: false,
securityLevel: 'loose',
+3 -2
View File
@@ -41,10 +41,11 @@
"author": "",
"license": "GPL-3.0-or-later",
"dependencies": {
"@catppuccin/vitepress": "^0.1.2",
"axios": "^1.13.5",
"jsonc-parser": "^3.3.1",
"ws": "^8.19.0",
"@catppuccin/vitepress": "^0.1.2"
"mermaid": "^11.12.2",
"ws": "^8.19.0"
},
"devDependencies": {
"@types/node": "^25.2.2",
+930 -13
View File
File diff suppressed because it is too large Load Diff