ruby-on-rails - 使用 toshimaru / jekyll-toc 在 jekyll 站点上自定义自动生成的 TOC
问题描述
我有一个 Jekyll 站点,它使用https://github.com/toshimaru/jekyll-toc进行右侧导航。在 _config.yml 我有以下设置,以确保只有<h2>
元素显示在自动生成的目录中。
toc:
min_level: 2 # default: 1
max_level: 2 # default: 6
这很好用,但在某些页面上,我也想<h3>
在 toc 中包含元素。所以我想在特定情况下将 max_level 更改为 3。这可能吗?我想从模板代码中动态更改 max_level 值。请帮忙
解决方案
乍一看,该插件似乎不支持每页配置。作为一种解决方法,您可以始终生成第三级标题,并使用 CSS 隐藏它们,除非您在该页面上专门显示它们。相关部分:
布局:
<body class="{{ page.body_class }}">
页:
---
body_class: has-toc-level-3
---
CSS:
body:not(.has-toc-level-3) .toc-h3 {
display: none;
}