2.7 添加文章目录
根据文章的标题,显示文章的目录,这个应该也是比较基础的需求,所以Hexo在3.0版本中提供了辅助函数来实现这个功能,所以添加起来还是比较容易的。
1. 添加toc.ejs
文件
toc.ejs
文件在主题目录下layout/_partial
文件夹中新建toc.ejs
文件,存放文章目录的代码。
这里的toc()
函数就是Hexo官方提供的辅助函数,不用再自行写这部分代码了,直接调用toc()
函数即可,post.content
代表该文章内容,list_number: false
是函数提供的一个配置参数,这里指定false
代表文章列表不默认显示序号。
同时这段代码添加了一个文章变量toc
,当在文章front-matter
里添加toc: false
时,就表示该文章不想显示目录。这样便可以控制哪些文章显示目录,哪些文章不想显示目录。
2. 添加到页面中
文章目录应该显示在文章内容的页面,这里将它放到文章的开始部分,找到主题目录文章布局文件layout/_partial/article.ejs
,找到下面代码:
可以看到,在<%- post.content %>
前面添加了一行<%- partial('toc') %>
引用了目录代码。现在刷新页面就可以看到目录了,如下图
3. 修改目录样式
上面也基本能满足文章目录的功能,只是不太好看,下面添加一些样式代码,让它看起来更美观一点。
在主题目录下source/css/_partial
文件夹下找到article.styl
文件,打开文件,在文件末端添加下面一段代码。
重新刷新页面看看,如下图,看起来是不是美观了一些。
Last updated