diff --git a/src/hooks/useMarkdown.hook.ts b/src/hooks/useMarkdown.hook.ts index b577ea9..41a6d07 100644 --- a/src/hooks/useMarkdown.hook.ts +++ b/src/hooks/useMarkdown.hook.ts @@ -97,16 +97,11 @@ const md = new MarkdownIt({ slugify: (s: string) => slugger.slug(s) }) -let shikijiInitialized = false +let shikijiPromise: Promise | null = null -export const useShikiji = async () => { - if (shikijiInitialized) { - return - } - - shikijiInitialized = true - md.use( - await Shikiji({ +export const useShikiji = (): Promise => { + if (!shikijiPromise) { + shikijiPromise = Shikiji({ themes: { light: "vitesse-light", dark: "vitesse-black" @@ -126,8 +121,11 @@ export const useShikiji = async () => { aliases: ["als"] } as unknown as LanguageRegistration ] + }).then((plugin) => { + md.use(plugin) }) - ) + } + return shikijiPromise } let mermaidInitialized = false