我的網站使用Jekyll和Redcarpet降價解析器。我想使它所以我的標題是自動生成的ID:在標題中生成ID
# My heading
變爲:
<h1 id="my-heading">My heading</h1>
但我還沒有找到一種方法。
我想堅持使用redcarpet作爲我的降價解析器,但這不是必需的。如果還有一個支持所有相同的功能,那麼我很樂意考慮它。我特別喜歡那個redcarpet以pygments格式生成代碼塊。
我的網站使用Jekyll和Redcarpet降價解析器。我想使它所以我的標題是自動生成的ID:在標題中生成ID
# My heading
變爲:
<h1 id="my-heading">My heading</h1>
但我還沒有找到一種方法。
我想堅持使用redcarpet作爲我的降價解析器,但這不是必需的。如果還有一個支持所有相同的功能,那麼我很樂意考慮它。我特別喜歡那個redcarpet以pygments格式生成代碼塊。
我的首選解決方案是@maul-esel's Github Issues answer:
的redcarpet README提到的配置選項with_toc_data
。這將生成的ID爲標題,看起來像id="toc_0"
等
您可以通過添加這個到您的_config.yml
傑奇配置啓用:
markdown: redcarpet
redcarpet:
extensions: [with_toc_data]
這不是理想的 - 我寧願更多的語義ID,如id="my-heading"
- 但它足夠好,而且非常容易 - 這意味着我不需要設置和學習另一個markdown解析器(或者解決如何擴展redcarpet)。
如果有幫助,但它與Kramdown
工作$ kramdown <<< '# My heading'
<h1 id="my-heading">My heading</h1>
我看着kramdown。這是一個潛在的解決方案,但我更喜歡redcarpet生成代碼塊的方式。 –
也許我只是不知道如何。用redcarpet,我把我的代碼放在''''''''css \ ... \ \'''''''中,並且在代碼的所有相關位置附近放置了代碼段以突出顯示。如果我爲kramdown執行相同的'~~~ css \ ... \ ~~~',它只是圍繞着我的代碼'
...
',但沒有pygments標記。 –
是的,我不在乎這一點。我不是一個真正的Ruby人,我更喜歡語言不可知的解決方案。我只想盡可能以最小的努力來完成這項工作。 –
我不完全確定你會怎麼做,但可能[創建一個自定義渲染器就是這樣](https://github.com/vmg/redcarpet#and-you-can-even-cook-你自己)。祝你好運! – agarie