From 2e6a675edddd25a71ecfddc73e0e292cb21d5981 Mon Sep 17 00:00:00 2001
From: Aaron Pham <contact@aarnphm.xyz>
Date: Wed, 01 Jan 2025 20:24:32 +0000
Subject: [PATCH] perf: reduce bundle size (closes #1607) (#1689)

---
 quartz/components/scripts/mermaid.inline.ts |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)

diff --git a/quartz/components/scripts/mermaid.inline.ts b/quartz/components/scripts/mermaid.inline.ts
index 77a3ebe..6dd254d 100644
--- a/quartz/components/scripts/mermaid.inline.ts
+++ b/quartz/components/scripts/mermaid.inline.ts
@@ -1,5 +1,4 @@
 import { removeAllChildren } from "./util"
-import mermaid from "mermaid"
 
 interface Position {
   x: number
@@ -144,6 +143,7 @@
   "--codeFont",
 ] as const
 
+let mermaidImport = undefined
 document.addEventListener("nav", async () => {
   const center = document.querySelector(".center") as HTMLElement
   const nodes = center.querySelectorAll("code.mermaid") as NodeListOf<HTMLElement>
@@ -157,6 +157,12 @@
     {} as Record<(typeof cssVars)[number], string>,
   )
 
+  mermaidImport ||= await import(
+    //@ts-ignore
+    "https://cdnjs.cloudflare.com/ajax/libs/mermaid/11.4.0/mermaid.esm.min.mjs"
+  )
+  const mermaid = mermaidImport.default
+
   const darkMode = document.documentElement.getAttribute("saved-theme") === "dark"
   mermaid.initialize({
     startOnLoad: false,

--
Gitblit v1.10.0