Spaces:
Sleeping
Sleeping
Tuchuanhuhuhu
commited on
Commit
•
70ec742
1
Parent(s):
a8983c5
解决大段代码的渲染问题
Browse files- overwrites.py +5 -1
- utils.py +6 -2
overwrites.py
CHANGED
@@ -30,5 +30,9 @@ def postprocess(
|
|
30 |
"""
|
31 |
if y is None or y == []:
|
32 |
return []
|
33 |
-
|
|
|
|
|
|
|
|
|
34 |
return y
|
|
|
30 |
"""
|
31 |
if y is None or y == []:
|
32 |
return []
|
33 |
+
tag_regex = re.compile(r"<\w+>[^<]+</\w+>")
|
34 |
+
if tag_regex.search(y[-1][1]):
|
35 |
+
y[-1] = (y[-1][0].replace("\n", "<br>"), y[-1][1])
|
36 |
+
else:
|
37 |
+
y[-1] = (y[-1][0].replace("\n", "<br>"), convert_mdtext(y[-1][1]))
|
38 |
return y
|
utils.py
CHANGED
@@ -86,6 +86,7 @@ def normalize_markdown(md_text: str) -> str:
|
|
86 |
|
87 |
def convert_mdtext(md_text):
|
88 |
code_block_pattern = re.compile(r"```(.*?)(?:```|$)", re.DOTALL)
|
|
|
89 |
code_blocks = code_block_pattern.findall(md_text)
|
90 |
non_code_parts = code_block_pattern.split(md_text)[::2]
|
91 |
|
@@ -93,10 +94,13 @@ def convert_mdtext(md_text):
|
|
93 |
for non_code, code in zip(non_code_parts, code_blocks + [""]):
|
94 |
if non_code.strip():
|
95 |
non_code = normalize_markdown(non_code)
|
96 |
-
|
|
|
|
|
|
|
97 |
if code.strip():
|
98 |
# _, code = detect_language(code) # 暂时去除代码高亮功能,因为在大段代码的情况下会出现问题
|
99 |
-
code = code.replace("\n\n", "\n") # 暂时去除代码中的空行,因为在大段代码的情况下会出现问题
|
100 |
code = f"```{code}\n\n```"
|
101 |
code = markdown_to_html_with_syntax_highlight(code)
|
102 |
result.append(code)
|
|
|
86 |
|
87 |
def convert_mdtext(md_text):
|
88 |
code_block_pattern = re.compile(r"```(.*?)(?:```|$)", re.DOTALL)
|
89 |
+
inline_code_pattern = re.compile(r"`(.*?)`", re.DOTALL)
|
90 |
code_blocks = code_block_pattern.findall(md_text)
|
91 |
non_code_parts = code_block_pattern.split(md_text)[::2]
|
92 |
|
|
|
94 |
for non_code, code in zip(non_code_parts, code_blocks + [""]):
|
95 |
if non_code.strip():
|
96 |
non_code = normalize_markdown(non_code)
|
97 |
+
if inline_code_pattern.search(non_code):
|
98 |
+
result.append(markdown(non_code, extensions=["tables"]))
|
99 |
+
else:
|
100 |
+
result.append(mdtex2html.convert(non_code, extensions=["tables"]))
|
101 |
if code.strip():
|
102 |
# _, code = detect_language(code) # 暂时去除代码高亮功能,因为在大段代码的情况下会出现问题
|
103 |
+
# code = code.replace("\n\n", "\n") # 暂时去除代码中的空行,因为在大段代码的情况下会出现问题
|
104 |
code = f"```{code}\n\n```"
|
105 |
code = markdown_to_html_with_syntax_highlight(code)
|
106 |
result.append(code)
|