diff --git a/frontend/src/components/document-preview.vue b/frontend/src/components/document-preview.vue index a9bd5dda..b06a8a8a 100644 --- a/frontend/src/components/document-preview.vue +++ b/frontend/src/components/document-preview.vue @@ -197,7 +197,7 @@ async function renderMarkdown(blob: Blob) { gfm: true, }); const renderer = new marked.Renderer(); - renderer.code = function (text: string, lang?: string) { + renderer.code = function ({text, lang}) { let highlighted = ''; if (lang && hljs.getLanguage(lang)) { try { highlighted = hljs.highlight(text, { language: lang }).value; } diff --git a/frontend/src/utils/mermaidShared.ts b/frontend/src/utils/mermaidShared.ts index 3b7b3d8b..04efaf43 100644 --- a/frontend/src/utils/mermaidShared.ts +++ b/frontend/src/utils/mermaidShared.ts @@ -1,4 +1,5 @@ import mermaid from 'mermaid'; +import type {Tokens} from 'marked'; let mermaidInitialized = false; @@ -40,7 +41,7 @@ export const ensureMermaidInitialized = () => { export const createMermaidCodeRenderer = (idPrefix: string) => { let mermaidCount = 0; - return (text: string, lang?: string) => { + return ({text, lang}: Tokens.Code) => { if (lang === 'mermaid') { const id = `${idPrefix}-${++mermaidCount}`; return `
${text}
`; diff --git a/frontend/src/views/chat/components/AgentStreamDisplay.vue b/frontend/src/views/chat/components/AgentStreamDisplay.vue index caaa9e4b..106fc033 100644 --- a/frontend/src/views/chat/components/AgentStreamDisplay.vue +++ b/frontend/src/views/chat/components/AgentStreamDisplay.vue @@ -587,10 +587,7 @@ const props = defineProps<{ }>(); // Configure marked for security -marked.use({ - mangle: false, - headerIds: false -}); +marked.use({}); // Event stream const eventStream = computed(() => props.session?.agentEventStream || []); diff --git a/frontend/src/views/chat/components/botmsg.vue b/frontend/src/views/chat/components/botmsg.vue index cffaabb7..8f01f5d0 100644 --- a/frontend/src/views/chat/components/botmsg.vue +++ b/frontend/src/views/chat/components/botmsg.vue @@ -85,8 +85,6 @@ import { } from '@/utils/mermaidShared'; marked.use({ - mangle: false, - headerIds: false, breaks: true, // 全局启用单个换行支持 }); @@ -136,7 +134,7 @@ const closePreImg = () => { // 创建自定义渲染器实例 const customRenderer = new marked.Renderer(); // 覆盖图片渲染方法 -customRenderer.image = function(href, title, text) { +customRenderer.image = function({href, title, text}){ if (!isValidImageURL(href)) { return `

${t('error.invalidImageLink')}

`; }