1

Kramdown 有这个很酷的内容生成表

{: .toc}

这会生成一个不错的 TOC,例如在 html 中的顺序/无序列表中:

<ul id="markdown-toc">
   <li></li>
   ...
</ul>

但有时我想更多地控制它,比如使用 BootstrapList Group甚至使用<div>标记然后<ul><li></li></ul>.

有没有办法继承/覆盖这个toc模块来生成我自己的标记?

注意:我在 jekyll 中使用了 github 页面。

4

1 回答 1

2

不幸的是,{: toc}语法不接受除 through 之外的任何修改toc_levels(允许您指定toc深度;有关详细信息,请参阅选项文档)。本质上,您可以指定是否希望列表无序或有序,具体取决于您是否使用

* Table of contents
{: toc}

或者

1. Table of contents
{: toc}

您还可以使用该{: .no_toc}选项排除标头(至少如果您使用auto-ids,因为只添加带有 id 的标头,如果您不使用该选项,您也可以不提供 id):

# Header
{: .no_toc}

与 CSS、Javascript 或后处理有关的任何其他事情。但是,这通常相对简单,因为您可以根据需要将整个包装toc在 a 中,<div>或者将所需的任何类添加到包含. 如果您无法在中生成 ,请确保您允许使用全局或目录本身的选项进行块级解析。例如,<ul><ol>toctocdivparse_block_htmlmarkdown="block"

# 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>
于 2017-12-27T22:19:01.917 回答