使用toshimaru / jekyll-toc在jekyll网站上自定义自动生成的TOC

时间:2020-09-23 08:27:02

标签: ruby-on-rails ruby rubygems jekyll

我有一个Jekyll网站,该网站使用https://github.com/toshimaru/jekyll-toc进行右侧导航。在_config.yml中,我具有以下设置,可确保在自动生成的目录中仅显示<h2>个元素。

toc:
  min_level: 2 # default: 1
  max_level: 2 # default: 6

这很好用,但是在某些页面上,我也想在目录中包含<h3>元素。 所以我想在特定情况下将max_level更改为3。这可能吗?我想从模板代码动态更改max_level值。 请帮忙

1 个答案:

答案 0 :(得分:1)

乍一看似乎该插件不支持按页面配置。解决方法是,您可以一直生成第三级标题,并使用CSS隐藏它们,除非您在该页面上特别显示它们。相关部分:

布局:

<body class="{{ page.body_class }}">

页面:

---
body_class: has-toc-level-3
---

css:

body:not(.has-toc-level-3) .toc-h3 {
  display: none;
}