From 172c8ab2d9ecdbd64ba1c753b54cd5e83e82df6d Mon Sep 17 00:00:00 2001 From: GreenDreamer Date: Tue, 25 Feb 2025 19:26:02 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BA=86=E5=9C=A8markdown?= =?UTF-8?q?=E9=87=8C=E9=9D=A2=E6=9C=89=E4=BB=A3=E7=A0=81=E6=AE=B5=E7=9A=84?= =?UTF-8?q?=E9=94=99=E8=AF=AF=E7=BB=93=E6=9D=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/components/ExportAllMsgButton.tsx | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/app/src/components/ExportAllMsgButton.tsx b/app/src/components/ExportAllMsgButton.tsx index e405e0c..a254978 100644 --- a/app/src/components/ExportAllMsgButton.tsx +++ b/app/src/components/ExportAllMsgButton.tsx @@ -47,13 +47,24 @@ function ExportAllMsgButtonCall({ })); const jsonString = `\`\`\`json\n${JSON.stringify(jsonArray, null, 4)}\n\`\`\``; + function convertToMarkdown(jsonArray: { role: any; content: any; }[]) { const { t } = useTranslation(); + + // 定义一个函数来转义 ```` ``` ```` 字符串 + const escapeBackticks = (text: string): string => { + return text.replace(/```/g, '\t```'); + }; + return jsonArray.map(({ role, content }) => { - const roleText = role === 'user' ? t("export.user_says") : t("export.ai_says"); - return `## ${roleText}\n\n${content}`; + // 转义 content 中的 ```` ``` ```` 字符串 + const escapedContent = escapeBackticks(content); + + const roleText = role === 'user' ? t("export.user_says") : t("export.ai_says"); + return `## ${roleText}\n\n${escapedContent}`; }).join('\n\n'); - } +} + const markdownString = convertToMarkdown(jsonArray); const markdownValue = useMemo(() => {