support \(...\) and \[...\] style math formula

This commit is contained in:
l.tingting 2024-03-02 11:08:34 +08:00
parent 99fb9dcf11
commit 524c9beee4

View File

@ -116,9 +116,27 @@ function escapeDollarNumber(text: string) {
return escapedText; return escapedText;
} }
function escapeBrackets(text: string) {
const pattern =
/(```[\s\S]*?```|`.*?`)|\\\[([\s\S]*?[^\\])\\\]|\\\((.*?)\\\)/g;
return text.replace(
pattern,
(match, codeBlock, squareBracket, roundBracket) => {
if (codeBlock) {
return codeBlock;
} else if (squareBracket) {
return `$$${squareBracket}$$`;
} else if (roundBracket) {
return `$${roundBracket}$`;
}
return match;
},
);
}
function _MarkDownContent(props: { content: string }) { function _MarkDownContent(props: { content: string }) {
const escapedContent = useMemo( const escapedContent = useMemo(
() => escapeDollarNumber(props.content), () => escapeBrackets(escapeDollarNumber(props.content)),
[props.content], [props.content],
); );