我的网站使用Jekyll和Redcarpet markdown解析器。我想让它让我的标题自动生成与ID:
# My heading
成为:
<h1 id="my-heading">My heading</h1>
但我还没有找到办法。
我想坚持使用红地毯作为我的降价解析器,但这不是必须的。如果有另一个支持所有相同功能的,我会很乐意考虑。我特别喜欢红地毯以分段格式生成代码块。
我的首选解决方案是@maul-esel的Github问题答案:
红毯自述中提到了配置选项with_toc_data
。这会生成类似id="toc_0"
等的标题的ID。
您可以通过将其添加到_config.yml
Jekyll配置中来启用它:
markdown: redcarpet
redcarpet:
extensions: [with_toc_data]
这并不理想——我更喜欢像id="my-heading"
这样的语义ID——但它足够好,而且非常简单——这意味着我不需要设置和学习另一个markdown解析器(或者研究如何扩展红地毯)。
如果有帮助,它确实可以与Kramdown 一起工作
$ kramdown <<< '# My heading'
<h1 id="my-heading">My heading</h1>