Markdown / Rdiscount中的编号标题可能吗?


71

我正在尝试使用类似以下内容的小节/小节标题生成html:

  1. 我的顶级主题
    1.1我的第一       个子主题
    1.2另一个子主题
    1.2.1一个子子主题
  2. 另一个顶级话题

是否有Markdown的实现能够产生这些编号的节标题?

提前致谢。

Answers:


55

是的,尝试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的标题已编号(以及许多其他精美功能)。也检查一下!


-o输出文件之前需要的选项pandoc --number-sections < test.md > -o out.html
betontalpfa

@betontalpfa nope
Adam Monsen

19

如果您的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) ". "
}

我使用Typora,它以这种方式支持标题的自动编号


那么,这个工程的原子,如果有人有兴趣:更改第一个条目h1 { counter-increment: h1 },然后注释掉counter-increment: h1h1:before。我不明白为什么...
Alex

应该选择此作为一般解决方案。它适用于typora,multimarkdown和pandoc。
Alpha TAN

7

如果您要编辑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

如果以后再编辑该文件并再次运行该脚本,则它将更新旧的枚举。


1
好吧,这是一个曲线球(markdown-enum作为命令vs.enumerate-markdown作为软件包名称)。不过,这正是我在寻找的东西!
约瑟夫


0

Markdown旨在快速,轻便且易于使用,非常适合该票据。对于更复杂的格式,最好考虑使用markdown以外的选项。不是警察。通常,例如,使用Microsoft语言和工具,我想做“ xyz”,然后意识到在这个世界上,从设计上讲,您就从“ xyz”转向了实现目标的首选/支持方式。

对于特定示例,请考虑vscode。人们询问工具栏/自定义。Vscode不是以工具栏为中心的。这是设计使然。设计意图是使用命令面板Ctrl + Shift + P。通过不必经常自定义工具栏来节省时间,并且可以快速访问所有命令,而不仅仅是工具栏上的一部分命令。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.