3.2 差不多了

This commit is contained in:
跨越晨昏 2024-10-26 18:37:34 +08:00
parent b885051c67
commit 62abbad860
5 changed files with 444 additions and 229 deletions

View File

@ -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, '</code>'
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

View File

@ -36,12 +36,14 @@
<li><a href="#1.2.1">1.2.1 斜体</a></li>
<li><a href="#1.2.2">1.2.2 粗体</a></li>
<li><a href="#1.2.3">1.2.3 粗斜体</a></li>
<li><a href="#1.2.4">1.2.4 下划线</a></li>
<li><a href="#1.2.4">1.2.4 下</a></li>
<li><a href="#1.2.5">1.2.5 删除线</a></li>
<li><a href="#1.2.6">1.2.6 高亮</a></li>
<li><a href="#1.2.7">1.2.7 在文本的正上方添加一行小文本主要用于标拼音</a></li>
<li><a href="#1.2.8">1.2.8 在指定的文本里面隐藏一段文本</a></li>
<li><a href="#1.2.7">1.2.7 [在文本的正上方添加一行小文本]^(主要用于标拼音)</a></li>
<li><a href="#1.2.8">1.2.8 [在指定的文本里面隐藏一段文本]-(只有鼠标放在上面才会显示隐藏文本)</a></li>
<li><a href="#1.2.9">1.2.9 分割线</a></li>
<li><a href="#1.2.10">1.2.10 上标</a></li>
<li><a href="#1.2.11">1.2.11 下划线</a></li>
</ul>
</li>
<li><a href="#1.3">1.3 链接</a><ul>
@ -66,7 +68,7 @@
<li><a href="#4.1">4.1 单行</a><ul>
<li><a href="#4.1.1">4.1.1 LaTex</a></li>
<li><a href="#4.1.2">4.1.2 函数</a></li>
<li><a href="#4.1.3">4.1.3 强调</a></li>
<li><a href="#4.1.3">4.1.3 按键风格</a></li>
</ul>
</li>
<li><a href="#4.2">4.2 多行</a><ul>
@ -99,22 +101,26 @@
<li><a href="#9.1">9.1 有序列表</a></li>
<li><a href="#9.2">9.2 无序列表</a></li>
<li><a href="#9.3">9.3 释义列表</a></li>
<li><a href="#9.4">9.4 任务列表</a></li>
<li><a href="#9.5">9.5 高级列表</a></li>
</ul>
</li>
<li><a href="#10">10 表格</a></li>
<li><a href="#11">11 警告</a></li>
<li><a href="#12">12 Emoji</a></li>
<li><a href="#12">12 符号</a><ul>
<li><a href="#12.1">12.1 Emoji</a></li>
<li><a href="#12.2">12.2 高级符号</a></li>
</ul>
</li>
<li><a href="#13">13 脚注</a><ul>
<li><a href="#13.1">13.1 使用</a></li>
<li><a href="#13.2">13.2 定义</a></li>
<li><a href="#13.3">13.3 放置</a></li>
</ul>
</li>
<li><a href="#14">14 外框</a><ul>
<li><a href="#14.1">14.1 警告</a></li>
<li><a href="#14.2">14.2 提醒</a></li>
<li><a href="#14.3">14.3 安心</a></li>
<li><a href="#14.4">14.4 怀疑</a></li>
<li><a href="#14">14 进度条</a><ul>
<li><a href="#14.1">14.1 普通</a></li>
<li><a href="#14.2">14.2 带属性</a></li>
</ul>
</li>
<li><a href="#15">15 内部链接</a></li>
@ -146,15 +152,19 @@
<h3 id="1.2.1">1.2.1 <em>斜体</em></h3>
<h3 id="1.2.2">1.2.2 <strong>粗体</strong></h3>
<h3 id="1.2.3">1.2.3 <strong><em>粗斜体</em></strong></h3>
<h3 id="1.2.4">1.2.4 <u>下划线</u></h3>
<h3 id="1.2.5">1.2.5 <u></u>删除线<u></u></h3>
<h3 id="1.2.4">1.2.4 <sub>下标</sub></h3>
<h3 id="1.2.5">1.2.5 <del>删除线</del></h3>
<h3 id="1.2.6">1.2.6 <mark>高亮</mark></h3>
<h3 id="1.2.7">1.2.7 <ruby>在文本的正上方添加一行小文本<rt>主要用于标拼音</rt></ruby></h3>
<h3 id="1.2.8">1.2.8 <span title="只有鼠标放在上面才会显示隐藏文本">在指定的文本里面隐藏一段文本</span></h3>
<h3 id="1.2.7">1.2.7 [在文本的正上方添加一行小文本]^(主要用于标拼音)</h3>
<h3 id="1.2.8">1.2.8 [在指定的文本里面隐藏一段文本]-(只有鼠标放在上面才会显示隐藏文本)</h3>
<h3 id="1.2.9">1.2.9 分割线</h3>
<hr />
<hr />
<hr />
<h3 id="1.2.10">1.2.10 <sup>上标</sup></h3>
<p>H<sup>2</sup>0</p>
<p>text<sup>a superscript</sup></p>
<h3 id="1.2.11">1.2.11 <ins>下划线</ins></h3>
<h2 id="1.3">1.3 链接</h2>
<h3 id="1.3.1">1.3.1 普通链接</h3>
<p><a href="链接地址">链接文本</a></p>
@ -171,52 +181,65 @@
<p>直接在文本中使用 <abbr title="长的文本">缩写</abbr> 即可</p>
<h1 id="3">3 锚点</h1>
<h2 id="3.1">3.1 定义</h2>
<p><span id="锚点名">锚点名</span></p>
<p>{{#锚点名}}</p>
<h2 id="3.2">3.2 页内链接</h2>
<p><a href="#锚点名">锚点名</a></p>
<p>{{锚点名}}</p>
<h1 id="4">4 代码块</h1>
<h2 id="4.1">4.1 <code>单行</code></h2>
<p>Here is some code: <code class="highlight"><span class="kn">import</span> <span class="nn">pymdownx</span><span class="p">;</span> <span class="n">pymdownx</span><span class="o">.</span><span class="n">__version__</span></code>.</p>
<p>The mock shebang will be treated like text here: <code>#!js var test = 0;</code>.</p>
<h3 id="4.1.1">4.1.1 LaTex</h3>
<p>这是<code>$CO_2$</code>二氧化碳</p>
<p>这是<code>$H_2O$</code></p>
<p><code>$\lg\left(\frac{目标生物的理智值}{稳定折磨型工具人的理智值}\right)$</code></p>
<p>这是<span class="arithmatex"><span class="MathJax_Preview">CO_2</span><script type="math/tex">CO_2</script></span>二氧化碳,或者可以写成这样CO<sub>2</sub></p>
<p>这是<span class="arithmatex"><span class="MathJax_Preview">H_2O</span><script type="math/tex">H_2O</script></span>水,或者写成H<sub>2</sub>O
H<sup>3</sup><sub>2</sub>O</p>
<p><span class="arithmatex"><span class="MathJax_Preview">\lg\left(\frac{目标生物的理智值}{稳定折磨型工具人的理智值}\right)</span><script type="math/tex">\lg\left(\frac{目标生物的理智值}{稳定折磨型工具人的理智值}\right)</script></span></p>
<h3 id="4.1.2">4.1.2 函数</h3>
<p><code>¥y=x*2+1¥</code> // 不定义范围</p>
<p><code>¥y=x**2¥€-50,50€</code> // 定义了x范围</p>
<p><code>¥y=x**3¥€-50,50|-100,100€</code> // 定义了y范围</p>
<h3 id="4.1.3">4.1.3 强调</h3>
<p><code>{强调文本}</code></p>
<p><code>{强调变量}</code></p>
<h3 id="4.1.3">4.1.3 按键风格</h3>
<p><span class="keys"><kbd class="key-control">Ctrl</kbd><span>+</span><kbd class="key-alt">Alt</kbd><span>+</span><kbd class="key-delete">Del</kbd></span></p>
<h2 id="4.2">4.2 多行</h2>
<h3 id="4.2.1">4.2.1 YAML</h3>
<pre><code class="yaml">A:
1. a
2. b
3. c
B:
- a
- b
- c
强调值:
- a
- b
</code></pre>
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 2</span>
<span class="normal"> 3</span>
<span class="normal"> 4</span>
<span class="normal"> 5</span>
<span class="normal"> 6</span>
<span class="normal"> 7</span>
<span class="normal"> 8</span>
<span class="normal"> 9</span>
<span class="normal">10</span>
<span class="normal">11</span>
<span class="normal">12</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="hll"><span class="nt">A</span><span class="p">:</span>
</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">1. a</span>
<span class="hll"><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">2. b</span>
</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">3. c</span>
<span class="nt">B</span><span class="p">:</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">a</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">b</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">c</span>
<span class="p p-Indicator">{[</span><span class="nv">强调变量</span><span class="p p-Indicator">]}:</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">a</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">b</span>
</code></pre></div></td></tr></table></div>
<h3 id="4.2.2">4.2.2 Python</h3>
<pre><code class="python">#! usr/bin/python3.11
def main():
print('CrossDown')
</code></pre>
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1</span>
<span class="normal">2</span>
<span class="normal">3</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="ch">#! usr/bin/python3.11</span>
<span class="k">def</span> <span class="nf">main</span><span class="p">():</span>
<span class="nb">print</span><span class="p">(</span><span class="s1">&#39;CrossDown&#39;</span><span class="p">)</span>
</code></pre></div></td></tr></table></div>
<h3 id="4.2.3">4.2.3 Mermaid</h3>
<pre><code class="mermaid">graph TD
<div class="mermaid">graph TD
A[开始]--&gt;B[流程]
B--&gt;C{判断}
C--&gt;|结果1|D[结束1]
C--&gt;|结果2|E[结束2]
</code></pre>
C--&gt;|结果2|E[结束2]</div>
<h3 id="4.2.4">4.2.4 shell</h3>
<pre><code class="shell">cd ../..
<div class="highlight"><pre><span></span><code><span class="nb">cd</span><span class="w"> </span>../..
ls
</code></pre>
</code></pre></div>
<h3 id="4.2.5">4.2.5 latex</h3>
<div class="arithmatex">
<div class="MathJax_Preview">
@ -242,13 +265,13 @@
</div>
<p>行内公式: <span class="arithmatex"><span class="MathJax_Preview">p(x|y) = \frac{p(y|x)p(x)}{p(y)}</span><script type="math/tex">p(x|y) = \frac{p(y|x)p(x)}{p(y)}</script></span> </p>
<h3 id="4.2.6">4.2.6 HTML</h3>
<pre><code class="html">*斜体***粗体**~下划线~~~删除线~~==高亮==
</code></pre>
<div class="highlight"><pre><span></span><code>*斜体***粗体**~下划线~~~删除线~~==高亮==
</code></pre></div>
<h3 id="4.2.7">4.2.7 未知语言</h3>
<pre><code>#! usr/bin/python3.11
<div class="highlight"><pre><span></span><code>#! usr/bin/python3.11
def main():
print('CrossDown')
</code></pre>
print(&#39;CrossDown&#39;)
</code></pre></div>
<h1 id="5">5 转义</h1>
<p>\ </p>
<p>\a </p>
@ -271,7 +294,7 @@
</blockquote>
</blockquote>
</blockquote>
<p>引文内添加<em>斜体</em><strong>粗体</strong><u>下划线</u><u></u>删除线<u></u><mark>高亮</mark></p>
<p>引文内添加<em>斜体</em><strong>粗体</strong><sub>下标</sub><del>删除线</del><mark>高亮</mark></p>
</blockquote>
<h1 id="7">7 提纲</h1>
<h2 id="7.1">7.1 提纲号</h2>
@ -282,7 +305,7 @@
<p>7.1.3. 错误示范</p>
<p>不能出现两个及以上连续的点,例如:</p>
<p>7..1...4 错误示范</p>
<p>提纲号会被自动配置为锚点,可直接使用<a href="#7">7</a><a href="#7.1">7.1</a></p>
<p>提纲号会被自动配置为锚点,可直接使用{{7}}{{7.1}}</p>
<h1 id="8">8 注释</h1>
<p>|==| 注释</p>
<h2 id="8.1">8.1 强注释</h2>
@ -297,7 +320,7 @@
<p><code>// 代码中的注释弱不会被移除</code></p>
<h1 id="9">9 列表</h1>
<h2 id="9.1">9.1 有序列表</h2>
<ol>
<ol type="1">
<li>a</li>
<li>b</li>
<li>c</li>
@ -314,7 +337,7 @@
<dl>
<dt>A</dt>
<dd>
<ol>
<ol type="1">
<li>a </li>
<li>b </li>
<li>c </li>
@ -342,6 +365,41 @@
<dt>Orange</dt>
<dd>The fruit of an evergreen tree of the genus Citrus.</dd>
</dl>
<h2 id="9.4">9.4 任务列表</h2>
<p>Task List</p>
<ul class="task-list">
<li class="task-list-item"><input type="checkbox" checked/> item 1<ul class="task-list">
<li class="task-list-item"><input type="checkbox" checked/> item A</li>
<li class="task-list-item"><input type="checkbox"/> item B
more text<ul class="task-list">
<li class="task-list-item"><input type="checkbox" checked/> item a</li>
<li class="task-list-item"><input type="checkbox"/> item b</li>
<li class="task-list-item"><input type="checkbox" checked/> item c</li>
</ul>
</li>
<li class="task-list-item"><input type="checkbox" checked/> item C</li>
</ul>
</li>
<li class="task-list-item"><input type="checkbox"/> item 2</li>
<li class="task-list-item"><input type="checkbox"/> item 3</li>
</ul>
<h2 id="9.5">9.5 高级列表</h2>
<ol type="1">
<li>Item 1</li>
<li>Item 2<ol type="i">
<li>Item 1</li>
<li>Item 2<ol type="a">
<li>Item a</li>
<li>Item b<ol type="1">
<li>Item 1</li>
<li>Item 2</li>
</ol>
</li>
</ol>
</li>
</ol>
</li>
</ol>
<h1 id="10">10 表格</h1>
<table>
<thead>
@ -367,9 +425,21 @@
<h1 id="11">11 警告</h1>
<p>!!! warning "警告标题"
警告内容</p>
<h1 id="12">12 Emoji</h1>
<h1 id="12">12 符号</h1>
<h2 id="12.1">12.1 Emoji</h2>
<p><img alt="😄" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f604.png" title=":smile:" /> <img alt="❤️" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/2764.png" title=":heart:" /> <img alt="👍" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f44d.png" title=":thumbsup:" /></p>
<p>这是一个笑脸 <img alt="😄" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f604.png" title=":smile:" /> 图案</p>
<h2 id="12.2">12.2 高级符号</h2>
<p>&trade;
&copy;
&reg;
&#8453;
&plusmn;
&rarr;
&larr;
&harr;
&ne;
&frac14;</p>
<h1 id="13">13 脚注</h1>
<h2 id="13.1">13.1 使用</h2>
<p>这是一个<sup id="fnref:脚注"><a class="footnote-ref" href="#fn:脚注">1</a></sup></p>
@ -385,31 +455,99 @@
</ol>
</div>
<p>否则所有定义将被集中在文章末尾</p>
<h1 id="14">14 外框</h1>
<h2 id="14.1">14.1 警告</h2>
<p>这是一个!!!警告!!!……</p>
<p>!!!
这是一条警告
!!!</p>
<h2 id="14.2">14.2 提醒</h2>
<p>这是一个!!提醒!!……</p>
<p>!!
这是一条提醒
!!</p>
<h2 id="14.3">14.3 安心</h2>
<p>这是一个,,,安心,,,……</p>
<p>,,,
这是一条安心
,,,</p>
<h2 id="14.4">14.4 怀疑</h2>
<p>这是一个,,怀疑,,……</p>
<p>,,
这是一条怀疑
,,</p>
<h1 id="14">14 进度条</h1>
<h2 id="14.1">14.1 普通</h2>
<p>
<div class="progress progress-0plus">
<div class="progress-bar" style="width:0.00%">
<p class="progress-label">0%</p>
</div>
</div>
<div class="progress progress-0plus">
<div class="progress-bar" style="width:5.00%">
<p class="progress-label">5%</p>
</div>
</div>
<div class="progress progress-20plus">
<div class="progress-bar" style="width:25.00%">
<p class="progress-label">25%</p>
</div>
</div>
<div class="progress progress-40plus">
<div class="progress-bar" style="width:45.00%">
<p class="progress-label">45%</p>
</div>
</div>
<div class="progress progress-60plus">
<div class="progress-bar" style="width:65.00%">
<p class="progress-label">65%</p>
</div>
</div>
<div class="progress progress-80plus">
<div class="progress-bar" style="width:85.00%">
<p class="progress-label">85%</p>
</div>
</div>
<div class="progress progress-100plus">
<div class="progress-bar" style="width:100.00%">
<p class="progress-label">100%</p>
</div>
</div>
</p>
<h2 id="14.2">14.2 带属性</h2>
<p>
<div class="progress progress-80plus candystripe">
<div class="progress-bar" style="width:85.00%">
<p class="progress-label">85%</p>
</div>
</div>
<div class="progress progress-100plus candystripe candystripe-animate">
<div class="progress-bar" style="width:100.00%">
<p class="progress-label">100%</p>
</div>
</div>
</p>
<p>
<div class="progress progress-0plus thin">
<div class="progress-bar" style="width:0.00%">
<p class="progress-label"></p>
</div>
</div>
<div class="progress progress-0plus thin">
<div class="progress-bar" style="width:5.00%">
<p class="progress-label"></p>
</div>
</div>
<div class="progress progress-20plus thin">
<div class="progress-bar" style="width:25.00%">
<p class="progress-label"></p>
</div>
</div>
<div class="progress progress-40plus thin">
<div class="progress-bar" style="width:45.00%">
<p class="progress-label"></p>
</div>
</div>
<div class="progress progress-60plus thin">
<div class="progress-bar" style="width:65.00%">
<p class="progress-label"></p>
</div>
</div>
<div class="progress progress-80plus thin">
<div class="progress-bar" style="width:85.00%">
<p class="progress-label"></p>
</div>
</div>
<div class="progress progress-100plus thin">
<div class="progress-bar" style="width:100.00%">
<p class="progress-label"></p>
</div>
</div>
</p>
<h1 id="15">15 内部链接</h1>
<p><a class="wikilink" href="/Bracketed/">Bracketed</a></p>
<h1 id="16">16 变量</h1>
<p>强调值</p>
<p>{[强调变量]}</p>
<h1 id="17">17 属性设置</h1>
<p style="font-family: sans-serif;">可以设置文段的字体为sans-serif</p>
<p style="font-family: Helvetica;">可以设置文段的字体为Helvetica</p>
@ -422,13 +560,17 @@
<p>You can create a note with Blocks!</p>
</div>
<h2 id="18.2">18.2 定义列表</h2>
<dl>
<dt>Apple</dt>
<dd>Pomaceous fruit of plants of the genus Malus in
the family Rosaceae.</dd>
<dt>Orange</dt>
<dd>The fruit of an evergreen tree of the genus Citrus.</dd>
</dl>
<p>/// define
Apple</p>
<ul>
<li>Pomaceous fruit of plants of the genus Malus in
the family Rosaceae.</li>
</ul>
<p>Orange</p>
<ul>
<li>The fruit of an evergreen tree of the genus Citrus.</li>
</ul>
<p>///</p>
<h2 id="18.3">18.3 详情</h2>
<details class="warning">
<summary>Some summary</summary>

123
README.md
View File

@ -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 内部链接

View File

@ -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;} /* 灰色背景,白色文字 */

View File

@ -19,7 +19,7 @@ setuptools.setup(
'numpy',
],
package_data={
'': ['static/*'], # 这将包含static文件夹下的所有子文件夹和文件
'': ['Static/*'], # 这将包含static文件夹下的所有子文件夹和文件
},
classifiers=[
'Programming Language :: Python :: 3.11',