【问题标题】:Automatic numbering of generated ToC in JekyllJekyll 中生成的 ToC 的自动编号
【发布时间】:2015-01-30 18:45:42
【问题描述】:

我在 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->仅 HTML 的解决方案。

【问题讨论】:

    标签: jekyll liquid kramdown


    【解决方案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 而不是未编号的。

    【讨论】:

    • 这仅适用于 ToC,而不适用于标题本身。有没有办法按照 TS 的要求对标题应用自动编号?
    【解决方案2】:

    正如kramdown config 中所见,无法在本地获得此功能。 插件方式可以解决这个问题。

    【讨论】:

      【解决方案3】:

      您可以使用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?中所述

      由于标题现在已编号,它们将在 TOC 和您的标题中编号。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-08-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-12-17
        • 2011-08-04
        相关资源
        最近更新 更多