diff --git a/tools/server/webui/src/lib/components/app/misc/MarkdownContent.svelte b/tools/server/webui/src/lib/components/app/misc/MarkdownContent.svelte index cb3ae17a63..a64cc2a1b7 100644 --- a/tools/server/webui/src/lib/components/app/misc/MarkdownContent.svelte +++ b/tools/server/webui/src/lib/components/app/misc/MarkdownContent.svelte @@ -25,6 +25,7 @@ interface Props { content: string; class?: string; + disableMath?: boolean; } interface MarkdownBlock { @@ -32,7 +33,7 @@ html: string; } - let { content, class: className = '' }: Props = $props(); + let { content, class: className = '', disableMath = false }: Props = $props(); let containerRef = $state(); let renderedBlocks = $state([]); @@ -47,6 +48,21 @@ const themeStyleId = `highlight-theme-${(window.idxThemeStyle = (window.idxThemeStyle ?? 0) + 1)}`; let processor = $derived(() => { + if (disableMath) { + // Processor without math/LaTeX support + return remark() + .use(remarkGfm) // GitHub Flavored Markdown + .use(remarkBreaks) // Convert line breaks to
+ .use(remarkLiteralHtml) // Treat raw HTML as literal text with preserved indentation + .use(remarkRehype) // Convert Markdown AST to rehype + .use(rehypeHighlight) // Add syntax highlighting + .use(rehypeRestoreTableHtml) // Restore limited HTML (e.g.,
,