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