diff --git a/packages/mermaid/src/rendering-util/handle-markdown-text.ts b/packages/mermaid/src/rendering-util/handle-markdown-text.ts index 1bff5a9776..f898875cf0 100644 --- a/packages/mermaid/src/rendering-util/handle-markdown-text.ts +++ b/packages/mermaid/src/rendering-util/handle-markdown-text.ts @@ -39,6 +39,7 @@ export function markdownToLines(markdown: string, config: MermaidConfig = {}): M lines.push([]); } textLine.split(' ').forEach((word) => { + word = word.replace(/'/g, `'`); if (word) { lines[currentLine].push({ content: word, type: parentType }); } diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/note.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/note.ts index 403294783e..dfad92949e 100644 --- a/packages/mermaid/src/rendering-util/rendering-elements/shapes/note.ts +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/note.ts @@ -4,6 +4,7 @@ import intersect from '../intersect/index.js'; import { styles2String, userNodeOverrides } from './handDrawnShapeStyles.js'; import { getNodeClasses, labelHelper, updateNodeBounds } from './util.js'; import type { D3Selection } from '../../../types.js'; +import { getConfig } from '../../../config.js'; export async function note( parent: D3Selection, @@ -12,16 +13,16 @@ export async function note( ) { const { labelStyles, nodeStyles } = styles2String(node); node.labelStyle = labelStyles; + const useHtmlLabels = node.useHtmlLabels || getConfig().htmlLabels; + if (!useHtmlLabels) { + node.centerLabel = true; + } const { shapeSvg, bbox } = await labelHelper(parent, node, getNodeClasses(node)); const totalWidth = Math.max(bbox.width + (node.padding ?? 0) * 2, node?.width ?? 0); const totalHeight = Math.max(bbox.height + (node.padding ?? 0) * 2, node?.height ?? 0); const x = -totalWidth / 2; const y = -totalHeight / 2; const { cssStyles } = node; - const useHtmlLabels = node.useHtmlLabels; - if (!useHtmlLabels) { - node.centerLabel = true; - } // add the rect // @ts-ignore TODO: Fix rough typings diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/util.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/util.ts index 6a9db8c222..af8f75de5b 100644 --- a/packages/mermaid/src/rendering-util/rendering-elements/shapes/util.ts +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/util.ts @@ -14,7 +14,7 @@ export const labelHelper = async ( _shapeSvg?: D3Selection ) => { let cssClasses; - const useHtmlLabels = node.useHtmlLabels || evaluate(getConfig()?.flowchart?.htmlLabels); + const useHtmlLabels = node.useHtmlLabels || evaluate(getConfig()?.htmlLabels); if (!_classes) { cssClasses = 'node default'; } else { @@ -55,7 +55,7 @@ export const labelHelper = async ( let bbox = text.getBBox(); const halfPadding = (node?.padding ?? 0) / 2; - if (evaluate(getConfig().flowchart?.htmlLabels)) { + if (useHtmlLabels) { const div = text.children[0]; const dv = select(text);