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

问题描述 投票:0回答:6

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

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

是否有 Markdown 的实现能够生成此类编号的章节标题?

markdown rdiscount
6个回答
75
投票

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


44
投票

如果您的 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,它在这种方法中支持标题自动编号


14
投票

如果您想编辑 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
如果您稍后编辑该文件并再次运行脚本,则会更新旧的枚举。


4
投票
正如 @adam-monsen 指出的那样,“pandoc --number-sections”可以解决问题。您还可以简单地将

numbersections: true 添加到 YAML-Header

 来激活文件的编号标题。


0
投票

为标题创建编号,并且
  • 创建目录。
  • 无需安装
pandoc

或任何其他软件包。

https://gist.github.com/fabiog1901/d6a41c4416eefe49c372f11cab2b2084


-1
投票

举一个具体的例子,考虑 vscode。人们询问工具栏/自定义。 Vscode 不是以工具栏为中心的。这是设计使然。设计意图是使用命令面板Ctrl+Shift+P。无需不断自定义工具栏,从而节省时间,并且它提供对所有命令的快速访问,而不是仅工具栏上的命令子集。

© www.soinside.com 2019 - 2024. All rights reserved.