diff --git a/CrossDown/Core.py b/CrossDown/Core.py index fa4ce36..6dc97f4 100644 --- a/CrossDown/Core.py +++ b/CrossDown/Core.py @@ -1,15 +1,26 @@ from markdown.extensions import Extension, extra, admonition, meta, sane_lists, toc, wikilinks, codehilite, legacy_attrs +from pymdownx.extra import ExtraExtension from pymdownx.arithmatex import ArithmatexExtension from pymdownx.emoji import EmojiExtension from pymdownx.blocks import BlocksExtension from pymdownx.blocks.admonition import AdmonitionExtension -from pymdownx.blocks.definition import DefinitionExtension from pymdownx.blocks.details import DetailsExtension from pymdownx.blocks.html import HTMLExtension from pymdownx.blocks.tab import TabExtension -from pymdownx.caret import CaretProcessor +from pymdownx.caret import InsertSupExtension from pymdownx.critic import CriticExtension +from pymdownx.highlight import HighlightExtension +from pymdownx.inlinehilite import InlineHiliteExtension +from pymdownx.keys import KeysExtension +from pymdownx.mark import MarkExtension +from pymdownx.progressbar import ProgressBarExtension +from pymdownx.smartsymbols import SmartSymbolsExtension +from pymdownx.superfences import SuperFencesCodeExtension, fence_div_format +from pymdownx.tasklist import TasklistExtension +from pymdownx.tilde import DeleteSubExtension +from pymdownx.fancylists import FancyListExtension +from pymdownx.saneheaders import SaneHeadersExtension from pygments.formatters import HtmlFormatter @@ -56,30 +67,6 @@ class HighlightHtmlFormatter(HtmlFormatter): yield 0, '' -Extensions = { - # 自带 - '基本扩展': extra.ExtraExtension(fenced_code={'lang_prefix': ''}), - # '警告扩展': admonition.AdmonitionExtension(), - '元数据': meta.MetaExtension(), - # '能列表': sane_lists.SaneListExtension(), - '目录': toc.TocExtension(), - '内部链接': wikilinks.WikiLinkExtension(), - # '代码高亮': codehilite.CodeHiliteExtension(guess_lang=False, pygments_formatter=HighlightHtmlFormatter), - '属性设置': legacy_attrs.LegacyAttrExtension(), - - # pymdownx - '超级数学': ArithmatexExtension(), - 'EMOJI': EmojiExtension(), - '块扩展': BlocksExtension(), - '警告': AdmonitionExtension(), - '定义列表': DefinitionExtension(), - '详情': DetailsExtension(), - 'HTML': HTMLExtension(), - '标签': TabExtension(), - '批评': CriticExtension(), -} - - class PreProcess(Preprocessor): """预处理""" @@ -418,15 +405,15 @@ class Basic(Extension): :param md: 转换器 """ md.registerExtension(self) # 注册扩展 - md.inlinePatterns.register(Simple(r'~~(.*?)~~', tag='s'), 'strikethrough', 176) # ~~删除线~~ - md.inlinePatterns.register(Simple(r'~(.*?)~', tag='u'), 'underline', 177) # ~下划线~ - md.inlinePatterns.register(Simple(r'==(.*?)==', tag='mark'), 'high_light', 178) # ==高亮== - md.inlinePatterns.register(Nest( - r'\[(.*?)]\^\((.*?)\)', outer_tag='ruby', inner_tag='rt'), 'up', 179 - ) # [在文本的正上方添加一行小文本]^(主要用于标拼音) - md.inlinePatterns.register(ID( - r'\[(.*?)]-\((.*?)\)', tag='span', property_='title'), 'hide', 180 - ) # [在指定的文本里面隐藏一段文本]-(只有鼠标放在上面才会显示隐藏文本) + # md.inlinePatterns.register(Simple(r'~~(.*?)~~', tag='s'), 'strikethrough', 176) # ~~删除线~~ + # md.inlinePatterns.register(Simple(r'~(.*?)~', tag='u'), 'underline', 177) # ~下划线~ + # md.inlinePatterns.register(Simple(r'==(.*?)==', tag='mark'), 'high_light', 178) # ==高亮== + # md.inlinePatterns.register(Nest( + # r'\[(.*?)]\^\((.*?)\)', outer_tag='ruby', inner_tag='rt'), 'up', 179 + # ) # [在文本的正上方添加一行小文本]^(主要用于标拼音) + # md.inlinePatterns.register(ID( + # r'\[(.*?)]-\((.*?)\)', tag='span', property_='title'), 'hide', 180 + # ) # [在指定的文本里面隐藏一段文本]-(只有鼠标放在上面才会显示隐藏文本) # md.inlinePatterns.register(Emoji(r':(.+?):'), 'emoji', 181) # 将emoji短代码转换为emoji字符 md.parser.blockprocessors.register(Syllabus(md.parser), 'syllabus', 182) # 渲染提纲 @@ -505,6 +492,49 @@ class Code(Extension): # md.treeprocessors.register(CodeBlock(), 'code_block', 1000) # 渲染多行代码块 +Extensions = { + # 自带 + '元数据': meta.MetaExtension(), + '目录': toc.TocExtension(), + '内部链接': wikilinks.WikiLinkExtension(), + '属性设置': legacy_attrs.LegacyAttrExtension(), + + # pymdownx + '基本扩展': ExtraExtension(), + '超级数学': ArithmatexExtension(), + 'EMOJI': EmojiExtension(), + '块扩展': BlocksExtension(), + '警告': AdmonitionExtension(), + '详情': DetailsExtension(), + 'HTML': HTMLExtension(), + '标签': TabExtension(), + '批评': CriticExtension(), + '代码高亮': HighlightExtension(), + '行内高亮': InlineHiliteExtension(), + '按键风格': KeysExtension(), + '高亮': MarkExtension(), + '进度条': ProgressBarExtension(), + '高级符号': SmartSymbolsExtension(), + '超级代码块': SuperFencesCodeExtension( + custom_fences=[ # 渲染mermaid + { + 'name': 'mermaid', + 'class': 'mermaid', + 'format': fence_div_format + } + ] + ), + '任务列表': TasklistExtension(clickable_checkbox=True), + '下标': DeleteSubExtension(), + '上标': InsertSupExtension(), + '高级列表': FancyListExtension(), + '高级标题': SaneHeadersExtension(), + + # 自定义 + '基本风格': Basic(), +} + + def main(text: str, variable: Variable = None) -> Tuple[str, Variable]: """ 主函数 @@ -514,5 +544,5 @@ def main(text: str, variable: Variable = None) -> Tuple[str, Variable]: """ if variable is None: variable = {} - md = Markdown(extensions=[Pre(variable=variable), Basic(), Anchor()] + list(Extensions.values()) + [Code(variable=variable)]) + md = Markdown(extensions=list(Extensions.values())) return md.convert(text), md.Meta diff --git a/README.html b/README.html index 0d26767..36b946b 100644 --- a/README.html +++ b/README.html @@ -36,12 +36,14 @@
H20
+texta superscript
+直接在文本中使用 缩写 即可
锚点名
+{{#锚点名}}
{{锚点名}}
单行
Here is some code: import pymdownx; pymdownx.__version__
.
The mock shebang will be treated like text here: #!js var test = 0;
.
这是$CO_2$
二氧化碳
这是$H_2O$
水
$\lg\left(\frac{目标生物的理智值}{稳定折磨型工具人的理智值}\right)$
这是CO_2二氧化碳,或者可以写成这样CO2
+这是H_2O水,或者写成H2O + H32O
+\lg\left(\frac{目标生物的理智值}{稳定折磨型工具人的理智值}\right)
¥y=x*2+1¥
// 不定义范围
¥y=x**2¥€-50,50€
// 定义了x范围
¥y=x**3¥€-50,50|-100,100€
// 定义了y范围
{强调文本}
{强调变量}
Ctrl+Alt+Del
A:
- 1. a
- 2. b
- 3. c
- B:
- - a
- - b
- - c
- 强调值:
- - a
- - b
-
+ 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 |
|
#! usr/bin/python3.11
- def main():
- print('CrossDown')
-
+ 1 + 2 + 3 |
|
graph TD
+ graph TD
A[开始]-->B[流程]
B-->C{判断}
C-->|结果1|D[结束1]
- C-->|结果2|E[结束2]
-
+ C-->|结果2|E[结束2]
4.2.4 shell
- cd ../..
+ cd ../..
ls
-
+
4.2.5 latex
@@ -242,13 +265,13 @@
行内公式: p(x|y) = \frac{p(y|x)p(x)}{p(y)}
4.2.6 HTML
- *斜体***粗体**~下划线~~~删除线~~==高亮==
-
+ *斜体***粗体**~下划线~~~删除线~~==高亮==
+
4.2.7 未知语言
- #! usr/bin/python3.11
+ #! usr/bin/python3.11
def main():
- print('CrossDown')
-
+ print('CrossDown')
+
5 转义
\
\a
@@ -271,7 +294,7 @@
- 引文内添加斜体粗体下划线删除线高亮
+ 引文内添加斜体粗体下标删除线高亮
7 提纲
7.1 提纲号
@@ -282,7 +305,7 @@
7.1.3. 错误示范
不能出现两个及以上连续的点,例如:
7..1...4 错误示范
-
+ 提纲号会被自动配置为锚点,可直接使用{{7}}{{7.1}}
8 注释
|==| 注释
8.1 强注释
@@ -297,7 +320,7 @@
// 代码中的注释弱不会被移除
9 列表
9.1 有序列表
-
+
- a
- b
- c
@@ -314,7 +337,7 @@
- A
-
-
+
- a
- b
- c
@@ -342,6 +365,41 @@
- Orange
- The fruit of an evergreen tree of the genus Citrus.
+ 9.4 任务列表
+ Task List
+
+ - item 1
+ - item A
+ - item B
+ more text
+ - item a
+ - item b
+ - item c
+
+
+ - item C
+
+
+ - item 2
+ - item 3
+
+ 9.5 高级列表
+
+ - Item 1
+ - Item 2
+ - Item 1
+ - Item 2
+ - Item a
+ - Item b
+ - Item 1
+ - Item 2
+
+
+
+
+
+
+
10 表格
@@ -367,9 +425,21 @@
11 警告
!!! warning "警告标题"
警告内容
- 12 Emoji
+ 12 符号
+ 12.1 Emoji
这是一个笑脸 图案
+ 12.2 高级符号
+ ™
+ ©
+ ®
+ ℅
+ ±
+ →
+ ←
+ ↔
+ ≠
+ ¼ 等
13 脚注
13.1 使用
这是一个1
@@ -385,31 +455,99 @@
否则所有定义将被集中在文章末尾
- 14 外框
- 14.1 警告
- 这是一个!!!警告!!!……
- !!!
- 这是一条警告
- !!!
- 14.2 提醒
- 这是一个!!提醒!!……
- !!
- 这是一条提醒
- !!
- 14.3 安心
- 这是一个,,,安心,,,……
- ,,,
- 这是一条安心
- ,,,
- 14.4 怀疑
- 这是一个,,怀疑,,……
- ,,
- 这是一条怀疑
- ,,
+ 14 进度条
+ 14.1 普通
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 14.2 带属性
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 15 内部链接
16 变量
- 强调值
+ {[强调变量]}
17 属性设置
可以设置文段的字体为sans-serif
可以设置文段的字体为Helvetica
@@ -422,13 +560,17 @@
You can create a note with Blocks!
18.2 定义列表
-
- - Apple
- - Pomaceous fruit of plants of the genus Malus in
- the family Rosaceae.
- - Orange
- - The fruit of an evergreen tree of the genus Citrus.
-
+ /// define
+ Apple
+
+ - Pomaceous fruit of plants of the genus Malus in
+ the family Rosaceae.
+
+ Orange
+
+ - The fruit of an evergreen tree of the genus Citrus.
+
+ ///
18.3 详情
Some summary
diff --git a/README.md b/README.md
index 129bf14..e916737 100644
--- a/README.md
+++ b/README.md
@@ -29,7 +29,7 @@ base_url: http://crossdark.net:3000/crossdark/CrossDown
1.2.3 ***粗斜体***
-1.2.4 ~下划线~
+1.2.4 ~下标~
1.2.5 ~~删除线~~
@@ -45,6 +45,14 @@ base_url: http://crossdark.net:3000/crossdark/CrossDown
___
***
+1.2.10 ^上标^
+
+H^2^0
+
+text^a\ superscript^
+
+1.2.11 ^^下划线^^
+
1.3 链接
1.3.1 普通链接
@@ -91,13 +99,18 @@ ___
4.1 `单行`
+Here is some code: `#!py3 import pymdownx; pymdownx.__version__`.
+
+The mock shebang will be treated like text here: ` #!js var test = 0; `.
+
4.1.1 LaTex
-这是`$CO_2$`二氧化碳
+这是$CO_2$二氧化碳,或者可以写成这样CO~2~
-这是`$H_2O$`水
+这是$H_2O$水,或者写成H~2~O
+H^3^~2~O
-`$\lg\left(\frac{目标生物的理智值}{稳定折磨型工具人的理智值}\right)$`
+$\lg\left(\frac{目标生物的理智值}{稳定折磨型工具人的理智值}\right)$
4.1.2 函数
@@ -107,17 +120,15 @@ ___
`¥y=x**3¥€-50,50|-100,100€` // 定义了y范围
-4.1.3 强调
+4.1.3 按键风格
-`{强调文本}`
-
-`{强调变量}`
+++ctrl+alt+delete++
4.2 多行
4.2.1 YAML
-```yaml
+```yaml {hl_lines="1 3" linenums="2"}
A:
1. a
2. b
@@ -133,7 +144,7 @@ B:
4.2.2 Python
-```python
+```python {linenums="1"}
#! usr/bin/python3.11
def main():
print('CrossDown')
@@ -202,7 +213,7 @@ def main():
>>>>> 五级引用
>>>>>> 六级引用
>
-> 引文内添加*斜体***粗体**~下划线~~~删除线~~==高亮==
+> 引文内添加*斜体***粗体**~下标~~~删除线~~==高亮==
7 提纲
@@ -283,6 +294,32 @@ Apple
Orange
: The fruit of an evergreen tree of the genus Citrus.
+9.4 任务列表
+
+Task List
+
+- [X] item 1
+ * [X] item A
+ * [ ] item B
+ more text
+ + [x] item a
+ + [ ] item b
+ + [x] item c
+ * [X] item C
+- [ ] item 2
+- [ ] item 3
+
+9.5 高级列表
+
+1) Item 1
+2) Item 2
+ i. Item 1
+ ii. Item 2
+ a. Item a
+ b. Item b
+ #. Item 1
+ #. Item 2
+
10 表格
| 表头1 | 表头2 | 表头3 |
@@ -295,12 +332,27 @@ Orange
!!! warning "警告标题"
警告内容
-12 Emoji
+12 符号
+
+12.1 Emoji
:smile: :heart: :thumbsup:
这是一个笑脸 :smile: 图案
+12.2 高级符号
+
+(tm)
+(c)
+(r)
+c/o
++/-
+-->
+<--
+<-->
+=/=
+1/4 等
+
13 脚注
13.1 使用
@@ -319,39 +371,30 @@ Orange
否则所有定义将被集中在文章末尾
-14 外框
+14 进度条
-14.1 警告
+14.1 普通
-这是一个!!!警告!!!……
+[=0% "0%"]
+[=5% "5%"]
+[=25% "25%"]
+[=45% "45%"]
+[=65% "65%"]
+[=85% "85%"]
+[=100% "100%"]
-!!!
-这是一条警告
-!!!
+14.2 带属性
-14.2 提醒
+[=85% "85%"]{: .candystripe}
+[=100% "100%"]{: .candystripe .candystripe-animate}
-这是一个!!提醒!!……
-
-!!
-这是一条提醒
-!!
-
-14.3 安心
-
-这是一个,,,安心,,,……
-
-,,,
-这是一条安心
-,,,
-
-14.4 怀疑
-
-这是一个,,怀疑,,……
-
-,,
-这是一条怀疑
-,,
+[=0%]{: .thin}
+[=5%]{: .thin}
+[=25%]{: .thin}
+[=45%]{: .thin}
+[=65%]{: .thin}
+[=85%]{: .thin}
+[=100%]{: .thin}
15 内部链接
diff --git a/Static/styles.css b/Static/styles.css
index 7687fb9..e67ba09 100644
--- a/Static/styles.css
+++ b/Static/styles.css
@@ -3,75 +3,75 @@ td.linenos .normal { color: inherit; background-color: transparent; padding-left
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
-.codehilite .hll { background-color: #ffffcc }
-.codehilite { background: #f8f8f8; }
-.codehilite .c { color: #3D7B7B; font-style: italic } /* Comment */
-.codehilite .err { border: 1px solid #FF0000 } /* Error */
-.codehilite .k { color: #008000; font-weight: bold } /* Keyword */
-.codehilite .o { color: #666666 } /* Operator */
-.codehilite .ch { color: #3D7B7B; font-style: italic } /* Comment.Hashbang */
-.codehilite .cm { color: #3D7B7B; font-style: italic } /* Comment.Multiline */
-.codehilite .cp { color: #9C6500 } /* Comment.Preproc */
-.codehilite .cpf { color: #3D7B7B; font-style: italic } /* Comment.PreprocFile */
-.codehilite .c1 { color: #3D7B7B; font-style: italic } /* Comment.Single */
-.codehilite .cs { color: #3D7B7B; font-style: italic } /* Comment.Special */
-.codehilite .gd { color: #A00000 } /* Generic.Deleted */
-.codehilite .ge { font-style: italic } /* Generic.Emph */
-.codehilite .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */
-.codehilite .gr { color: #E40000 } /* Generic.Error */
-.codehilite .gh { color: #000080; font-weight: bold } /* Generic.Heading */
-.codehilite .gi { color: #008400 } /* Generic.Inserted */
-.codehilite .go { color: #717171 } /* Generic.Output */
-.codehilite .gp { color: #000080; font-weight: bold } /* Generic.Prompt */
-.codehilite .gs { font-weight: bold } /* Generic.Strong */
-.codehilite .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
-.codehilite .gt { color: #0044DD } /* Generic.Traceback */
-.codehilite .kc { color: #008000; font-weight: bold } /* Keyword.Constant */
-.codehilite .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
-.codehilite .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
-.codehilite .kp { color: #008000 } /* Keyword.Pseudo */
-.codehilite .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
-.codehilite .kt { color: #B00040 } /* Keyword.Type */
-.codehilite .m { color: #666666 } /* Literal.Number */
-.codehilite .s { color: #BA2121 } /* Literal.String */
-.codehilite .na { color: #687822 } /* Name.Attribute */
-.codehilite .nb { color: #008000 } /* Name.Builtin */
-.codehilite .nc { color: #0000FF; font-weight: bold } /* Name.Class */
-.codehilite .no { color: #880000 } /* Name.Constant */
-.codehilite .nd { color: #AA22FF } /* Name.Decorator */
-.codehilite .ni { color: #717171; font-weight: bold } /* Name.Entity */
-.codehilite .ne { color: #CB3F38; font-weight: bold } /* Name.Exception */
-.codehilite .nf { color: #0000FF } /* Name.Function */
-.codehilite .nl { color: #767600 } /* Name.Label */
-.codehilite .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
-.codehilite .nt { color: #008000; font-weight: bold } /* Name.Tag */
-.codehilite .nv { color: #19177C } /* Name.Variable */
-.codehilite .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
-.codehilite .w { color: #bbbbbb } /* Text.Whitespace */
-.codehilite .mb { color: #666666 } /* Literal.Number.Bin */
-.codehilite .mf { color: #666666 } /* Literal.Number.Float */
-.codehilite .mh { color: #666666 } /* Literal.Number.Hex */
-.codehilite .mi { color: #666666 } /* Literal.Number.Integer */
-.codehilite .mo { color: #666666 } /* Literal.Number.Oct */
-.codehilite .sa { color: #BA2121 } /* Literal.String.Affix */
-.codehilite .sb { color: #BA2121 } /* Literal.String.Backtick */
-.codehilite .sc { color: #BA2121 } /* Literal.String.Char */
-.codehilite .dl { color: #BA2121 } /* Literal.String.Delimiter */
-.codehilite .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
-.codehilite .s2 { color: #BA2121 } /* Literal.String.Double */
-.codehilite .se { color: #AA5D1F; font-weight: bold } /* Literal.String.Escape */
-.codehilite .sh { color: #BA2121 } /* Literal.String.Heredoc */
-.codehilite .si { color: #A45A77; font-weight: bold } /* Literal.String.Interpol */
-.codehilite .sx { color: #008000 } /* Literal.String.Other */
-.codehilite .sr { color: #A45A77 } /* Literal.String.Regex */
-.codehilite .s1 { color: #BA2121 } /* Literal.String.Single */
-.codehilite .ss { color: #19177C } /* Literal.String.Symbol */
-.codehilite .bp { color: #008000 } /* Name.Builtin.Pseudo */
-.codehilite .fm { color: #0000FF } /* Name.Function.Magic */
-.codehilite .vc { color: #19177C } /* Name.Variable.Class */
-.codehilite .vg { color: #19177C } /* Name.Variable.Global */
-.codehilite .vi { color: #19177C } /* Name.Variable.Instance */
-.codehilite .vm { color: #19177C } /* Name.Variable.Magic */
-.codehilite .il { color: #666666 } /* Literal.Number.Integer.Long */
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #f8f8f8; }
+.highlight .c { color: #3D7B7B; font-style: italic } /* Comment */
+.highlight .err { border: 1px solid #FF0000 } /* Error */
+.highlight .k { color: #008000; font-weight: bold } /* Keyword */
+.highlight .o { color: #666666 } /* Operator */
+.highlight .ch { color: #3D7B7B; font-style: italic } /* Comment.Hashbang */
+.highlight .cm { color: #3D7B7B; font-style: italic } /* Comment.Multiline */
+.highlight .cp { color: #9C6500 } /* Comment.Preproc */
+.highlight .cpf { color: #3D7B7B; font-style: italic } /* Comment.PreprocFile */
+.highlight .c1 { color: #3D7B7B; font-style: italic } /* Comment.Single */
+.highlight .cs { color: #3D7B7B; font-style: italic } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */
+.highlight .gr { color: #E40000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #008400 } /* Generic.Inserted */
+.highlight .go { color: #717171 } /* Generic.Output */
+.highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008000; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #008000 } /* Keyword.Pseudo */
+.highlight .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #B00040 } /* Keyword.Type */
+.highlight .m { color: #666666 } /* Literal.Number */
+.highlight .s { color: #BA2121 } /* Literal.String */
+.highlight .na { color: #687822 } /* Name.Attribute */
+.highlight .nb { color: #008000 } /* Name.Builtin */
+.highlight .nc { color: #0000FF; font-weight: bold } /* Name.Class */
+.highlight .no { color: #880000 } /* Name.Constant */
+.highlight .nd { color: #AA22FF } /* Name.Decorator */
+.highlight .ni { color: #717171; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #CB3F38; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0000FF } /* Name.Function */
+.highlight .nl { color: #767600 } /* Name.Label */
+.highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */
+.highlight .nv { color: #19177C } /* Name.Variable */
+.highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #666666 } /* Literal.Number.Bin */
+.highlight .mf { color: #666666 } /* Literal.Number.Float */
+.highlight .mh { color: #666666 } /* Literal.Number.Hex */
+.highlight .mi { color: #666666 } /* Literal.Number.Integer */
+.highlight .mo { color: #666666 } /* Literal.Number.Oct */
+.highlight .sa { color: #BA2121 } /* Literal.String.Affix */
+.highlight .sb { color: #BA2121 } /* Literal.String.Backtick */
+.highlight .sc { color: #BA2121 } /* Literal.String.Char */
+.highlight .dl { color: #BA2121 } /* Literal.String.Delimiter */
+.highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
+.highlight .s2 { color: #BA2121 } /* Literal.String.Double */
+.highlight .se { color: #AA5D1F; font-weight: bold } /* Literal.String.Escape */
+.highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */
+.highlight .si { color: #A45A77; font-weight: bold } /* Literal.String.Interpol */
+.highlight .sx { color: #008000 } /* Literal.String.Other */
+.highlight .sr { color: #A45A77 } /* Literal.String.Regex */
+.highlight .s1 { color: #BA2121 } /* Literal.String.Single */
+.highlight .ss { color: #19177C } /* Literal.String.Symbol */
+.highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0000FF } /* Name.Function.Magic */
+.highlight .vc { color: #19177C } /* Name.Variable.Class */
+.highlight .vg { color: #19177C } /* Name.Variable.Global */
+.highlight .vi { color: #19177C } /* Name.Variable.Instance */
+.highlight .vm { color: #19177C } /* Name.Variable.Magic */
+.highlight .il { color: #666666 } /* Literal.Number.Integer.Long */
.block {background-color: grey; color: white;} /* 灰色背景,白色文字 */
diff --git a/setup.py b/setup.py
index 4c86c48..a1ec4c3 100644
--- a/setup.py
+++ b/setup.py
@@ -19,7 +19,7 @@ setuptools.setup(
'numpy',
],
package_data={
- '': ['static/*'], # 这将包含static文件夹下的所有子文件夹和文件
+ '': ['Static/*'], # 这将包含static文件夹下的所有子文件夹和文件
},
classifiers=[
'Programming Language :: Python :: 3.11',