Kramdown具有很酷的目录生成功能
{: .toc}
这会生成一个很好的目录,例如html中的有序/无序列表,如下所示:
<ul id="markdown-toc">
<li></li>
...
</ul>
但有时我想对其进行更多控制,例如使用Bootstrap
List Group
甚至使用<div>
标记,然后使用<ul><li></li></ul>
。有没有办法继承/覆盖此
toc
模块以生成我自己的标记?注意:我在jekyll上使用了github页面。
最佳答案
不幸的是,不行-{: toc}
语法不接受通过toc_levels
进行的任何修改(允许您指定toc
深度;有关详细信息,请参见the options documentation)。本质上,您可以根据是否使用来指定whether you'd like the list to be unordered or ordered
* Table of contents
{: toc}
要么
1. Table of contents
{: toc}
您还可以使用
{: .no_toc}
选项排除标题(至少在使用auto-ids
的情况下,因为仅添加具有ID的标题,如果不使用该选项,则也不能提供ID):# Header
{: .no_toc}
您与CSS,Javascript或后处理有关的任何其他事项。但是,这通常相对简单,因为您可以根据需要将整个
toc
包装在<div>
中,也可以将想要的任何类添加到<ul>
/ <ol>
中,并将其包含在toc
中。如果无法在toc
中生成div
,请确保使用全局parse_block_html
或目录本身的markdown="block"
选项允许block level parsing。例如,# Header
<div markdown="block" id="xyzzy">
* TOC
{: toc .class}
</div>
应该产生
<h1 id="header">Header</h1>
<div id="xyzzy">
<ul class="class" id="markdown-toc">
<li><a href="#header" id="markdown-toc-header">Header</a></li>
</ul>
</div>
关于javascript - Kramdown扩展,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40805012/