jekyll自动生成目录的几种方案
jekyll 的kramdown
不支持[TOC]
自动生成目录的方式,目前了解来看有几种方案:
-
在正文中添加如下标签,这个方案优点在于不需要额外配置,github pages 也默认支持,缺点在于格式看着不太优雅,不符合markdownlint规范,在
visual studio code
的 markdownlint 插件下会导致一堆 lint 告警;- TOC {:toc}
-
使用
jekyll-toc
插件,这种方式实现比较优雅,也不会破坏 markdown 源文件,缺点在于 github pages 并不支持自定义插件;- 在网站的
gemfile
里面添加一行gem 'jekyll-toc'
,然后执行bundle install
-
在网站的
_config.yml
里面添加插件:plugins: - jekyll-toc
- 在你的 markdown 文件里面的头部分加上
toc: true
;
- 在网站的
-
使用jekyll html的解决方案,这是目前在 github pages 下推荐的方案;
- 下载
toc.html
文件,并放到_includes
目录; - 在
_layouts
下用到的html
里面,在content
前面加上一行% include toc.html html=content %
(前后需要加上{ }
)
- 下载