在Jekyll中自动编号生成的ToC

时间:2015-01-30 18:45:43

标签: jekyll liquid kramdown

我在Jekyll中使用Kramdown's ToC generation,我想知道我能以某种方式支持自动编号,以便这个降价:

## Header A

### Subheader

## Header B

变成这个HTML:

<h2>1 Header A</h2>
<h3>1.1 Subheader</h3>
<h2>2 Header B</h2>

显然,这可以在CSS或JavaScript中完成,但我正在寻找Markdown-&gt; HTML only解决方案。

3 个答案:

答案 0 :(得分:1)

请注意kramdown文档中的这一部分:

  

应用于原始列表的所有属性也将应用于   生成的TOC列表,如果没有ID,它将获得markdown-toc的ID   已经确定了。

所以,只需替换

- This list will contain the toc (it doesn't matter what you write here)
{:toc}

1. This list will contain the toc (it doesn't matter what you write here)
{:toc}

得到编号ToC而不是无编号。

答案 1 :(得分:0)

kramdown config中所见,无法原生地获取此内容。 插件方式可以解决这个问题。

答案 2 :(得分:0)

您可以使用https://github.com/A4Vision/enumerate-markdown

pip install enumerate-markdown
markdown-enum filename.md <minimal level> filenameoutput.md

最低级别可以是 1、2、3 等,具体取决于您希望将 #1 分配给哪个标题级别。

github 中没有提到所需的最低级别选项,但在我的情况下,它只提供了一个级别。

示例 - 输入

# header 1
text
## header 2
text
# header 3
text

输出

# 1.  header 1
text
## 1.1  header 2
text
# 2.  header 3
text

Are numbered headings in Markdown / Rdiscount possible?

中所述

由于标题现在已编号,它们将在目录和标题中编号。