diff --git a/assets/js/lib/mermaid.ts b/assets/js/lib/mermaid.ts index fa897d60..8579aba4 100644 --- a/assets/js/lib/mermaid.ts +++ b/assets/js/lib/mermaid.ts @@ -269,7 +269,7 @@ async function renderMermaidElement(el: Element | null, options: RenderOptions): const id = `fixit-mermaid-${++mermaidIdSeq}` try { - const result = await mermaid.render(id, source) + const result = await mermaid.render(id, source, el) const svg = result?.svg ?? '' el.innerHTML = svg if (typeof result?.bindFunctions === 'function') { @@ -296,10 +296,9 @@ async function renderMermaidElement(el: Element | null, options: RenderOptions): } } catch (error) { - const errDiv = document.getElementById(`d${id}`) + const errDiv = el.querySelector(`#d${id}`) if (errDiv) { el.innerHTML = errDiv.innerHTML - errDiv.remove() } el.removeAttribute('data-processing') el.setAttribute('data-processed', '') diff --git a/assets/js/types/third-party.ts b/assets/js/types/third-party.ts index 93f3402d..72200bd8 100644 --- a/assets/js/types/third-party.ts +++ b/assets/js/types/third-party.ts @@ -18,7 +18,7 @@ export interface MermaidRenderResult { export interface MermaidRuntimeModule { startOnLoad: boolean initialize: (config: Record) => void - render: (id: string, source: string) => Promise + render: (id: string, source: string, container?: Element) => Promise registerExternalDiagrams?: (diagrams: unknown[]) => Promise registerLayoutLoaders?: (loaders: unknown[]) => void } diff --git a/layouts/_partials/init/index.html b/layouts/_partials/init/index.html index 612d57d3..dd102f9d 100644 --- a/layouts/_partials/init/index.html +++ b/layouts/_partials/init/index.html @@ -1,4 +1,4 @@ -{{- hugo.Store.Set "version" "v1.0.0-mqw63fvq" -}} +{{- hugo.Store.Set "version" "v1.0.0-mqwhji8o" -}} {{- .Store.Set "this" dict -}} {{- partial "init/detection-env.html" . -}}