2

我的网站使用 Jekyll 和 Redcarpet 降价解析器。我想这样做,所以我的标题是用 ids 自动生成的:

# My heading

变成:

<h1 id="my-heading">My heading</h1>

但是我还没有找到方法。

我想坚持使用 redcarpet 作为我的降价解析器,但这不是必需的。如果有另一个支持所有相同的功能,那么我很乐意考虑它。我特别喜欢 redcarpet 生成 pygments 格式的代码块。

4

2 回答 2

2

我首选的解决方案是@maul-esel 的 Github 问题答案

redcarpet README提到了 config option with_toc_dataid="toc_0"这会为看起来像等的标题生成 ID 。

您可以通过将其添加到您的_config.ymlJekyll 配置中来启用它:

markdown: redcarpet
redcarpet:
    extensions: [with_toc_data]

这并不理想——我更喜欢更多的语义 ID id="my-heading",但它足够好,而且超级简单——这意味着我不需要设置和学习另一个 markdown 解析器(或弄清楚如何扩展红地毯)。

于 2013-06-30T10:50:18.543 回答
1

如果有帮助,它确实适用于 Kramdown

$ kramdown <<< '# My heading'
<h1 id="my-heading">My heading</h1>
于 2013-06-29T10:48:30.817 回答