From 4df39179bbbd717316765db3d5dcda0844d4595b Mon Sep 17 00:00:00 2001 From: kangfenmao Date: Mon, 9 Dec 2024 09:50:15 +0800 Subject: [PATCH] fix: escaped special characters in code snippets #419 --- src/renderer/src/context/SyntaxHighlighterProvider.tsx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/renderer/src/context/SyntaxHighlighterProvider.tsx b/src/renderer/src/context/SyntaxHighlighterProvider.tsx index 40d600af..34f16576 100644 --- a/src/renderer/src/context/SyntaxHighlighterProvider.tsx +++ b/src/renderer/src/context/SyntaxHighlighterProvider.tsx @@ -54,13 +54,15 @@ export const SyntaxHighlighterProvider: React.FC = ({ childre const codeToHtml = async (code: string, language: string) => { if (!highlighter) return '' + const escapedCode = code.replace(/[<>]/g, (char) => ({ '<': '<', '>': '>' })[char]!) + try { if (!highlighter.getLoadedLanguages().includes(language as BundledLanguage)) { if (language in bundledLanguages || language === 'text') { await highlighter.loadLanguage(language as BundledLanguage) console.log(`Loaded language: ${language}`) } else { - return `
${code}
` + return `
${escapedCode}
` } } @@ -70,7 +72,7 @@ export const SyntaxHighlighterProvider: React.FC = ({ childre }) } catch (error) { console.warn(`Error highlighting code for language '${language}':`, error) - return `
${code}
` + return `
${escapedCode}
` } }