perf: jit initialize mermaid

This commit is contained in:
Julien Calixte
2025-07-12 22:31:06 +02:00
parent dd5d4b04f7
commit c07964844d
2 changed files with 14 additions and 5 deletions

View File

@@ -21,7 +21,7 @@ import { encodeUTF8ToBase64 } from "@/utils/decodeBase64ToUTF8"
import { filenameToNoteTitle } from "@/utils/noteTitle" import { filenameToNoteTitle } from "@/utils/noteTitle"
import { generateTweets } from "@/utils/twitter" import { generateTweets } from "@/utils/twitter"
import mermaid from "mermaid" import mermaid from "mermaid"
import { useShikiji } from "@/hooks/useMarkdown.hook" import { runMermaid, useShikiji } from "@/hooks/useMarkdown.hook"
const LinkedNotes = defineAsyncComponent( const LinkedNotes = defineAsyncComponent(
() => import("@/components/LinkedNotes.vue"), () => import("@/components/LinkedNotes.vue"),
@@ -95,9 +95,7 @@ watch([content, mode], () => {
} }
if (rawContent.value.includes("```mermaid")) { if (rawContent.value.includes("```mermaid")) {
mermaid.run({ runMermaid(`.note-${sha.value} .mermaid`)
querySelector: `.note-${sha.value} .mermaid`,
})
} }
if (rawContent.value.includes("```")) { if (rawContent.value.includes("```")) {

View File

@@ -102,7 +102,18 @@ export const useShikiji = async () => {
) )
} }
mermaid.initialize({ startOnLoad: false, flowchart: { curve: "natural" } }) let mermaidInitialized = false
export const runMermaid = (querySelector: string) => {
if (!mermaidInitialized) {
mermaidInitialized = true
mermaid.initialize({ startOnLoad: false, flowchart: { curve: "natural" } })
}
mermaid.run({
querySelector,
})
}
const rules: Renderer.RenderRuleRecord = { const rules: Renderer.RenderRuleRecord = {
table_open: () => table_open: () =>