浏览代码

FIX: dollar-sign escaping in preprocessLaTeX code‐block handling (#21796)

Co-authored-by: LinYing <linying@momenta.ai>
tags/1.5.1
ShadowJobs 4 个月前
父节点
当前提交
86179beaa5
没有帐户链接到提交者的电子邮件
共有 1 个文件被更改,包括 4 次插入1 次删除
  1. 4
    1
      web/app/components/base/markdown/markdown-utils.ts

+ 4
- 1
web/app/components/base/markdown/markdown-utils.ts 查看文件

@@ -11,6 +11,7 @@ export const preprocessLaTeX = (content: string) => {

const codeBlockRegex = /```[\s\S]*?```/g
const codeBlocks = content.match(codeBlockRegex) || []
const escapeReplacement = (str: string) => str.replace(/\$/g, '_TMP_REPLACE_DOLLAR_')
let processedContent = content.replace(codeBlockRegex, 'CODE_BLOCK_PLACEHOLDER')

processedContent = flow([
@@ -21,9 +22,11 @@ export const preprocessLaTeX = (content: string) => {
])(processedContent)

codeBlocks.forEach((block) => {
processedContent = processedContent.replace('CODE_BLOCK_PLACEHOLDER', block)
processedContent = processedContent.replace('CODE_BLOCK_PLACEHOLDER', escapeReplacement(block))
})

processedContent = processedContent.replace(/_TMP_REPLACE_DOLLAR_/g, '$')

return processedContent
}


正在加载...
取消
保存