完成消息体内 LaTeX 内容渲染功能 (#15)

* 确实,现在可以处理 LaTeX 渲染了,欢迎 PR 新的渲染网址。

* 意外的小问题

* 删掉一个小数点

* 单词拼错了,马上四级,不知道能不能过

* 我是傻逼

* ok,但我肚子痛,等去蹲个坑
This commit is contained in:
金羿ELS
2024-12-02 00:38:07 +08:00
committed by GitHub
parent 8327ee5dd1
commit d6d417a784
8 changed files with 520 additions and 125 deletions

View File

@ -36,11 +36,22 @@ https://github.com/LiteyukiStudio/marshoai-melo"""
# 正则匹配代码块
CODE_BLOCK_PATTERN = re.compile(
r"```(.*?)```|`(.*?)`", re.DOTALL
CODE_BLOCK_PATTERN = re.compile(r"```(.*?)```|`(.*?)`", re.DOTALL)
# 通用正则匹配LaTeX和Markdown图片
IMG_LATEX_PATTERN = re.compile(
(
r"(!\[[^\]]*\]\([^()]*\))|(\\begin\{equation\}.*?\\end\{equation\}|\$.*?\$|\$\$.*?\$\$|\\\[.*?\\\]|\\\(.*?\\\))"
if config.marshoai_single_latex_prase
else r"(!\[[^\]]*\]\([^()]*\))|(\\begin\{equation\}.*?\\end\{equation\}|\$\$.*?\$\$|\\\[.*?\\\])"
),
re.DOTALL,
)
# 正则匹配完整图片标签字段
IMG_TAG_PATTERN = re.compile(r"!\[[^\]]*\]\([^()]*\)")
IMG_TAG_PATTERN = re.compile(
r"!\[[^\]]*\]\([^()]*\)",
)
# # 正则匹配图片标签中的图片url字段
# INTAG_URL_PATTERN = re.compile(r'\(([^)]*)')
# # 正则匹配图片标签中的文本描述字段
@ -48,4 +59,5 @@ IMG_TAG_PATTERN = re.compile(r"!\[[^\]]*\]\([^()]*\)")
# 正则匹配 LaTeX 公式内容
LATEX_PATTERN = re.compile(
r"\\begin\{equation\}(.*?)\\end\{equation\}|(?<!\$)(\$(.*?)\$|\$\$(.*?)\$\$|\\\[(.*?)\\\]|\\\[.*?\\\]|\\\((.*?)\\\))",
re.DOTALL,
)