使用Jekyll和Kramdown的目录

时间:2016-07-17 03:26:04

标签: jekyll kramdown

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

_includes / toc.html

<nav>
  <h4>Table of Contents</h4>
  {:toc}
</nav>

my_cool_stuff / my_cool_page.md

---
layout: page
---

{% include toc.html %}

# The title of my page
## The Subtitle of my page

HTML是按字面生成的,我没有得到标题列表。

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

我说错了什么?

2 个答案:

答案 0 :(得分:15)

{:toc}是kramdown tag for automatic Table of content generation

在您的情况下,您需要再做两件事才能使其发挥作用:

  1. 允许kramdown解析html块内:_config.yml添加:

    kramdown:
      parse_block_html: true
    
  2. _includes/toc.html中,您需要提供种子列表:

    <nav>
      <h4>Table of Contents</h4>
      * this unordered seed list will be replaced by toc as unordered list
      {:toc}
    </nav>
    

答案 1 :(得分:1)

我想something similar但是我试图避免在我的帖子页面中添加任何标记,类似于{% include toc.html %}

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