使用Jekyll和Kramdown的目录

使用Jekyll和Kramdown的目录,jekyll,kramdown,Jekyll,Kramdown,我试图在我的Jekyll网站的页面(而不是帖子)上使用Kramdown的自动“目录”生成器 _包括/toc.html <nav> <h4>Table of Contents</h4> {:toc} </nav> HTML是按字面意思生成的,我没有得到标题列表 <nav> <h4 class="toc_title">On This Page</h4> {:toc} </nav> 在

我试图在我的Jekyll网站的页面(而不是帖子)上使用Kramdown的自动“目录”生成器

_包括/toc.html

<nav>
  <h4>Table of Contents</h4>
  {:toc}
</nav>
HTML是按字面意思生成的,我没有得到标题列表

<nav>
  <h4 class="toc_title">On This Page</h4>
  {:toc}
</nav>

在这一页上
{:toc}
我设置错了什么?

{:toc}是

在您的情况下,您还需要两件事才能使其正常工作:

  • 允许kramdown解析html块内部:在
    \u config.yml
    添加:

    kramdown:
      parse_block_html: true
    
  • \u includes/toc.html
    中,您需要提供一个种子列表:

    <nav>
      <h4>Table of Contents</h4>
      * this unordered seed list will be replaced by toc as unordered list
      {:toc}
    </nav>
    
    
    目录
    *此无序种子列表将被toc替换为无序列表
    {:toc}
    
  • 我想这样做,但试图避免在我的帖子页面中出现任何类型的标记,类似于您的
    {%include toc.html%}


    我发现了这个很棒的Ruby Gem,它允许您在布局文件中的任何位置放置TOC。您可以在前面启用它。

    我已经遵循了这一点,但在我的站点中,我仍然在我的站点帖子中获得原始html元素。还有其他我不知道的原因吗?我正在使用Jekyll并投票支持它,因为我知道你需要上一行或下一行的无序列表才能将目录呈现到其中。kramdown似乎只为降价标题生成toc。例如
    toptic
    将不包括在内。它在布局中不起作用。我们必须把代码放在每个帖子里。
    <nav>
      <h4>Table of Contents</h4>
      * this unordered seed list will be replaced by toc as unordered list
      {:toc}
    </nav>