Table 的内容使用 Jekyll 和 Kramdown

Table of contents using Jekyll and Kramdown

我正在尝试在我的 Jekyll 网站上的页面(不是 post)上使用 Kramdown 的自动 "Table of Contents" 生成器。

_包括/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 是字面生成的,我没有得到 headers 的列表。

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

我哪里设置错了?

{: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>
    

我想做 但试图避免在我的 post 页面中使用任何类型的标记,类似于您的 {% include toc.html %}.

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