我正在尝试使用类似以下内容的section / subsection标题生成html:
- 我的顶级主题
1.1我的第一个副主题
1.2另一个副主题
1.2.1子 - 副主题- 另一个顶级主题
醇>
是否有任何Markdown能够生成这些编号的章节标题?
提前致谢。
答案 0 :(得分:46)
是的,请尝试Pandoc。这对我有用:
pandoc --number-sections < test.md > out.html
(Source)
用于生成原始帖子中提及的编号大纲的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已编号(任何其他许多奇特的功能)。检查一下!
答案 1 :(得分:11)
如果您的降价工具支持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) ". "
}
我使用Typora,在此方法中支持auto numbering for headings。
答案 2 :(得分:3)
如果您要编辑markdown文件本身,而不仅要编辑生成的HTML文件, 尝试使用enumerate-markdown和python 3
pip install enumerate-markdown
markdown-enum filename.md filename.md
示例-输入
# header 1
text
## header 2
text
# header 3
text
输出
# 1. header 1
text
## 1.1 header 2
text
# 2. header 3
text
如果以后再编辑文件并再次运行脚本,则它将更新旧的枚举。
答案 3 :(得分:1)
正如@adam-monsen所指出的那样,pandoc --number-sections&#39;诀窍。您也可以add numbersections: true
to th YAML-Header简化文件的编号标题。
答案 4 :(得分:0)
Markdown旨在快速,轻便且易于使用,非常适合该法案。对于更复杂的格式,最好考虑使用markdown以外的选项。不是警察。通常,例如例如,使用Microsoft语言和工具,我想做“ xyz”,然后意识到在这个世界上,从设计上讲,您已经从“ xyz”转向了实现目标的首选/支持方式。>
对于特定示例,请考虑vscode。人们询问工具栏/自定义。 Vscode不是以工具栏为中心的。这是设计使然。设计意图是使用命令面板Ctrl + Shift + P。不必经常自定义工具栏,从而节省了时间,并且可以快速访问所有命令,而不仅仅是工具栏上的一部分命令。