1.1.1锚点依然有点问题

This commit is contained in:
跨越晨昏 2024-10-03 21:27:28 +08:00
parent d255f8e2aa
commit ccc4724d7d
2 changed files with 60 additions and 56 deletions

View File

@ -126,11 +126,11 @@ class Value(Preprocessor):
lines.remove(line) # 删除
else: # 应该被赋值
lines[index] = re.sub('{' + key + '}', value, line) # 对变量赋值
elif any(anchor in line for anchor in anchors): # 匹配到了锚点
if any(anchor in line for anchor in anchors): # 匹配到了锚点
if re.search('\{#', line): # 是锚点定义
lines[index] = re.sub(r'\{#(.+)}', r'<span id="\1"></span>', line) # 定义锚点
else: # 是页内链接
pass
print(line)
return lines
@ -142,8 +142,12 @@ class Tag(Treeprocessor):
for header in root.iter():
if header.tag in ('h1', 'h2', 'h3', 'h4', 'h5', 'h6'): # 查找标题
header.set('id', header.text.split(' ')[0]) # 给标题添加锚点
if header.text is not None: # 不是空行
pass
elif header.tag == 'ul': # 是无序列表
for i in header: # 遍历列表内容
try:
i[0].set('id', i[0].text.split(' ')[0]) # 是目录
except IndexError:
pass # 是普通的无序列表
class Basic(Extension):

View File

@ -28,17 +28,17 @@
</script>
<div class="toc">
<ul>
<li><a href="#crossdown">CrossDown</a></li>
<li><a href="#1">1 基本语法</a><ul>
<li><a href="#11">1.1 标题</a></li>
<li><a href="#crossdown" id="CrossDown">CrossDown</a></li>
<li><a href="#1" id="1">1 基本语法</a><ul>
<li><a href="#11" id="1.1">1.1 标题</a></li>
</ul>
</li>
<li><a href="#_1">一级标题</a><ul>
<li><a href="#_2">二级标题</a><ul>
<li><a href="#_3">三级标题</a><ul>
<li><a href="#_4">四级标题</a><ul>
<li><a href="#_5">五级标题</a><ul>
<li><a href="#_6">六级标题</a></li>
<li><a href="#_1" id="一级标题">一级标题</a><ul>
<li><a href="#_2" id="二级标题">二级标题</a><ul>
<li><a href="#_3" id="三级标题">三级标题</a><ul>
<li><a href="#_4" id="四级标题">四级标题</a><ul>
<li><a href="#_5" id="五级标题">五级标题</a><ul>
<li><a href="#_6" id="六级标题">六级标题</a></li>
</ul>
</li>
</ul>
@ -47,71 +47,71 @@
</li>
</ul>
</li>
<li><a href="#12">1.2 样式</a><ul>
<li><a href="#121">1.2.1 斜体</a></li>
<li><a href="#122">1.2.2 粗体</a></li>
<li><a href="#123">1.2.3 粗斜体</a></li>
<li><a href="#124">1.2.4 下划线</a></li>
<li><a href="#125">1.2.5 删除线</a></li>
<li><a href="#126">1.2.6 高亮</a></li>
<li><a href="#127">1.2.7 在文本的正上方添加一行小文本主要用于标拼音</a></li>
<li><a href="#128">1.2.8 在指定的文本里面隐藏一段文本</a></li>
<li><a href="#129">1.2.9 分割线</a></li>
<li><a href="#12" id="1.2">1.2 样式</a><ul>
<li><a href="#121" id="1.2.1">1.2.1 斜体</a></li>
<li><a href="#122" id="1.2.2">1.2.2 粗体</a></li>
<li><a href="#123" id="1.2.3">1.2.3 粗斜体</a></li>
<li><a href="#124" id="1.2.4">1.2.4 下划线</a></li>
<li><a href="#125" id="1.2.5">1.2.5 删除线</a></li>
<li><a href="#126" id="1.2.6">1.2.6 高亮</a></li>
<li><a href="#127" id="1.2.7">1.2.7 在文本的正上方添加一行小文本主要用于标拼音</a></li>
<li><a href="#128" id="1.2.8">1.2.8 在指定的文本里面隐藏一段文本</a></li>
<li><a href="#129" id="1.2.9">1.2.9 分割线</a></li>
</ul>
</li>
<li><a href="#13">1.3 链接</a><ul>
<li><a href="#131">1.3.1 普通链接</a></li>
<li><a href="#132">1.3.2 图片</a></li>
<li><a href="#133">1.3.3 变量链接</a></li>
<li><a href="#13" id="1.3">1.3 链接</a><ul>
<li><a href="#131" id="1.3.1">1.3.1 普通链接</a></li>
<li><a href="#132" id="1.3.2">1.3.2 图片</a></li>
<li><a href="#133" id="1.3.3">1.3.3 变量链接</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#2">2 变量</a><ul>
<li><a href="#21">2.1 定义</a></li>
<li><a href="#22">2.2 赋值</a></li>
<li><a href="#23">2.3 添加锚点</a></li>
<li><a href="#2" id="2">2 变量</a><ul>
<li><a href="#21" id="2.1">2.1 定义</a></li>
<li><a href="#22" id="2.2">2.2 赋值</a></li>
<li><a href="#23" id="2.3">2.3 添加锚点</a></li>
</ul>
</li>
<li><a href="#3">3 代码块</a><ul>
<li><a href="#31">3.1 单行</a><ul>
<li><a href="#311-latex">3.1.1 LaTex</a></li>
<li><a href="#312">3.1.2 函数</a></li>
<li><a href="#313">3.1.3 强调</a></li>
<li><a href="#3" id="3">3 代码块</a><ul>
<li><a href="#31" id="3.1">3.1 单行</a><ul>
<li><a href="#311-latex" id="3.1.1">3.1.1 LaTex</a></li>
<li><a href="#312" id="3.1.2">3.1.2 函数</a></li>
<li><a href="#313" id="3.1.3">3.1.3 强调</a></li>
</ul>
</li>
<li><a href="#32">3.2 多行</a><ul>
<li><a href="#321-yaml">3.2.1 YAML</a></li>
<li><a href="#322-python">3.2.2 Python</a></li>
<li><a href="#323-mermaid">3.2.3 Mermaid</a></li>
<li><a href="#32" id="3.2">3.2 多行</a><ul>
<li><a href="#321-yaml" id="3.2.1">3.2.1 YAML</a></li>
<li><a href="#322-python" id="3.2.2">3.2.2 Python</a></li>
<li><a href="#323-mermaid" id="3.2.3">3.2.3 Mermaid</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#4">4 转义</a></li>
<li><a href="#5">5 引用</a></li>
<li><a href="#6">6 提纲</a><ul>
<li><a href="#61">6.1 提纲号</a><ul>
<li><a href="#611">6.1.1 提纲号示例</a></li>
<li><a href="#4" id="4">4 转义</a></li>
<li><a href="#5" id="5">5 引用</a></li>
<li><a href="#6" id="6">6 提纲</a><ul>
<li><a href="#61" id="6.1">6.1 提纲号</a><ul>
<li><a href="#611" id="6.1.1">6.1.1 提纲号示例</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#7">7 注释</a><ul>
<li><a href="#71">7.1 强注释</a></li>
<li><a href="#72">7.2 弱注释</a></li>
<li><a href="#7" id="7">7 注释</a><ul>
<li><a href="#71" id="7.1">7.1 强注释</a></li>
<li><a href="#72" id="7.2">7.2 弱注释</a></li>
</ul>
</li>
<li><a href="#8">8 列表</a><ul>
<li><a href="#81">8.1 有序列表</a></li>
<li><a href="#82">8.2 无序列表</a></li>
<li><a href="#8" id="8">8 列表</a><ul>
<li><a href="#81" id="8.1">8.1 有序列表</a></li>
<li><a href="#82" id="8.2">8.2 无序列表</a></li>
</ul>
</li>
<li><a href="#9">9 表格</a></li>
<li><a href="#10">10 警告</a></li>
<li><a href="#11-emoji">11 Emoji</a></li>
<li><a href="#12_1">12 扩展语法</a><ul>
<li><a href="#121_1">12.1 警告</a></li>
<li><a href="#9" id="9">9 表格</a></li>
<li><a href="#10" id="10">10 警告</a></li>
<li><a href="#11-emoji" id="11">11 Emoji</a></li>
<li><a href="#12_1" id="12">12 扩展语法</a><ul>
<li><a href="#121_1" id="12.1">12.1 警告</a></li>
</ul>
</li>
</ul>