我正在尝试使用类似以下内容的小节/小节标题生成html:
- 我的顶级主题
1.1我的第一 个子主题
1.2另一个子主题
1.2.1一个子子主题- 另一个顶级话题
是否有Markdown的实现能够产生这些编号的节标题?
提前致谢。
Answers:
是的,尝试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的标题已编号(以及许多其他精美功能)。也检查一下!
如果您的markdown工具支持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) ". "
}
h1 { counter-increment: h1 }
,然后注释掉counter-increment: h1
在h1:before
。我不明白为什么...
如果您要编辑markdown文件本身,而不仅是生成的HTML文件,请尝试使用python 3枚举markdown
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
如果以后再编辑该文件并再次运行该脚本,则它将更新旧的枚举。
markdown-enum
作为命令vs.enumerate-markdown
作为软件包名称)。不过,这正是我在寻找的东西!
正如@ adam-monsen指出的那样,“ pandoc --number-sections”可以解决问题。您也可以简单地添加numbersections: true
到YAML-Header以激活文件的编号标题。
-o
输出文件之前需要的选项pandoc --number-sections < test.md > -o out.html