是否可以在帖子以外的页面中使用kramdown生成目录?如果是这样,怎么样?

时间:2014-08-16 03:30:44

标签: jekyll liquid kramdown

我的Jekyll网站上的索引页面就像一个帖子,只有一个额外的代码用于导航其他帖子。我本来并不是真的用它来制作一个博客,而是一堆新闻页面。

现在在每个帖子中我都使用kramdown生成如下内容的目录:

* This line is a placeholder to generate the table of contents
{:toc}

这适用于所有帖子,但是当我尝试在除帖子之外的任何内容上使用它时,它不会生成。输出只是空的。它没有显示上面的原始kramdown或任何东西,它只是消失了,没有任何东西(特别是不是TOC)出现在它的位置。

有关此帖子的一些评论:How to create a table of contents to Jekyll blog post?

建议在上面的代码之前放置一个<li>,但我尝试了所有可能的迭代,但它不起作用。另一条评论建议使用<h1>标记是必要的,存在。

我意识到有一个插件可以生成一个目录,非javascript版本比使用我看过的kramdown的TOC实现更早(该插件在这里:https://github.com/dafi/jekyll-toc-generator)。

另一个插件(https://github.com/ghiculescu/jekyll-table-of-contents)有点近,但我不想使用javascript来做kramdown已经可以做的事情。

是否可以使用标准的kramdown目录markdown在我的案例中生成一个而不是帖子?

2 个答案:

答案 0 :(得分:1)

如果您的索引页面没有YAML前端问题,那么Jekyll不会调用kramdown处理器。这是一个猜测,但这可能是你的问题。

答案 1 :(得分:1)

使用kramdown选项无法执行此操作也无法使用{:toc}选项与Jekyll页面的{{ content }}一起使用,因为{:toc}赢了&t使用生成的HTML。

我意识到这是一个较老的问题,但对于那些最近偶然发现这个问题的人来说。我写了a solution to this problem here只使用Liquid,所以它在GitHub页面上运行得很好(不涉及插件)并且禁用了JavaScript。我的解决方案与Jekyll提供的生成的HTML一起使用,因此不需要进行难以理解的工作。

我也意识到&#34;仅链接答案&#34;不赞成,但我不必在多个地方维护相同的代码片段。所以我希望你不要介意。