from markdown_it import MarkdownIt
import html
import re
def get_style_css(style_name):
"""
根据选择的样式名称获取对应的CSS样式文件
Args:
style_name (str): 样式名称,可选值为"Default"、"MBE"、"Glassmorphism"、"Apple"
Returns:
str: CSS样式内容
"""
if style_name == "Default":
return open("assets/demo.css", "r").read()
elif style_name == "1":
return open("assets/demo.1.css", "r").read()
elif style_name == "MBE":
return open("assets/demo_mbe.css", "r").read()
elif style_name == "Glassmorphism":
return open("assets/demo_glassmorphism.css", "r").read()
elif style_name == "Apple":
return open("assets/demo_apple.css", "r").read()
elif style_name == "Paper":
return open("assets/demo_paper.css", "r").read()
else:
return open("assets/demo.css", "r").read()
def decorate_writing(writing_result, style="Default"):
if not writing_result:
return writing_result
cite_pattern = r'
{match.group(1)}
"""
decorated_result = re.sub(mermaid_pattern, decorate_mermaid, decorated_result, flags=re.S)
echarts_pattern = r'```echarts\n(.*?)\n```'
echarts_index = 0
def replace_echarts(match):
"""
将echarts代码块转换为HTML和JavaScript
Args:
match: 正则表达式匹配对象
Returns:
str: 包含HTML和JavaScript的echarts图表代码
"""
nonlocal echarts_index
echarts_code = match.group(1)
echarts_id = f'echarts-container-{echarts_index}'
echarts_index += 1
replace_code = f"""