我正在尝试使用类似于以下的部分/小节标题生成 html:
- 我的顶级主题
1.1 我的第一个子主题
1.2 另一个子主题
1.2.1 一个子子主题- 另一个顶级话题
是否有任何 Markdown 实现能够生成这些编号的部分标题?
提前致谢。
是的,试试Pandoc。这对我有用:
pandoc --number-sections < test.md > out.html
(来源)
Markdown 生成您在原始帖子中提到的编号大纲如下所示:
# My top-level topic
## My first subtopic
## Another subtopic
### A sub-subtopic
## Another top-level topic
如果您想对子部分进行更深入的缩进,您可以使用内联 CSS 来实现。例如,将其放在上述 Markdown 源代码的顶部会缩进标题:
<style type="text/css">
h2 { margin-left: 10px; }
h3 { margin-left: 20px; }
</style>
但是假设您的标题下有文本段落...我不知道如何将其缩进到与上述标题相同的级别。
2015-10-18 更新:Markdeep有编号的标题(和许多其他花哨的功能)。也检查一下!
如果您的降价工具支持 CSS 自定义主题,请在 CSS 中添加以下代码段以启用标题编号:
body {
counter-reset: h1
}
h1 {
counter-reset: h2
}
h2 {
counter-reset: h3
}
h3 {
counter-reset: h4
}
h1:before {
counter-increment: h1;
content: counter(h1) ". "
}
h2:before {
counter-increment: h2;
content: counter(h1) "." counter(h2) ". "
}
h3:before {
counter-increment: h3;
content: counter(h1) "." counter(h2) "." counter(h3) ". "
}
h4:before {
counter-increment: h4;
content: counter(h1) "." counter(h2) "." counter(h3) "." counter(h4) ". "
}
如果您想编辑 markdown 文件本身,而不仅仅是生成的 HTML 文件,请尝试使用 python 3 进行enumerate-markdown
pip install enumerate-markdown
markdown-enum filename.md 1 filename.md
示例 - 输入
# header 1
text
## header 2
text
# header 3
text
输出
# 1. header 1
text
## 1.1 header 2
text
# 2. header 3
text
如果您稍后编辑该文件并再次运行该脚本,那么它会更新旧的枚举。
正如@adam-monsen 指出的那样,“pandoc --number-sections”可以解决问题。您也可以简单地添加numbersections: true
到 YAML-Header以激活文件的编号标题。
Markdown 旨在快速、轻便且易于使用,并且非常适合该要求。对于更复杂的格式,最好考虑降价以外的选项。不是逃避。通常,例如,使用 Microsoft 语言和工具,我想做“xyz”,然后意识到在那个世界中,您在设计上会远离“xyz”,转向首选/支持的方式来实现您的目标.
举个具体的例子,考虑 vscode。人们询问工具栏/自定义。Vscode 不是以工具栏为中心的。这是设计使然。设计意图是使用命令调色板Ctrl+Shift+P。通过不必经常自定义工具栏来节省时间,并且它提供了对所有命令的快速访问,而不是工具栏上的命令子集。