hexo优化目录
2016-02-27 14:20
218 查看
这次主要介绍一下如何使用Hexo自带的帮助函数在站点中添加文章目录。功能使用了Hexo提供的帮助函数,创建对应局部模块之前,首先要想想这块内容应该属于哪个布局?要添加到哪个局部模块下?考虑这些是为了整洁性,当你添加的东西越来越多的时候才不至于令自己混乱。
这里使用了Hexo提供的
接下考虑把这个局部模块放到哪呢,既然属于
很明显,我们要到
判断是否有摘要以及
接下来判断
OK!完美嵌入进去,接下来就是设置样式了,进入
toc.styl
效果如图
文章目录
文章目录肯定是添加到post布局上,这个毋庸置疑,因为只有看文章详情页的时候才需要目录。那么我们在目录
layout/_partial/post/下创建
toc.ejs文件,代码如下:
<div id="toc" class="toc-article"> <div class="toc-title">目录</div> <%- toc(item.content, {list_number: false}) %> </div>
这里使用了Hexo提供的
toc()帮助函数,它的使用方法如下:
<%- toc(str, [options]) %>
str就是文章内容,
options有两个参数,一个是
class,也就是
html标签的
class值,默认为
toc;一个是
list_number,是否显示列表编号,默认值是
true。
接下考虑把这个局部模块放到哪呢,既然属于
post布局,那么就看看
layout/post.ejs代码如下:
<%- partial('_partial/article', {item: page, index: false}) %>
很明显,我们要到
_partial/article.ejs文件里添加
toc.ejs,添加后
article.ejs代码如下:
<div class="article-entry" itemprop="articleBody"> <% if (post.excerpt && index){ %> <%- post.excerpt %> <% } else { %> <!-- Table of Contents --> <% if (!index && post.toc){ %> <div id="toc" class="toc-article"> <strong class="toc-title">文章目录</strong> <%- toc(post.content) %> </div> <% } %> <%- post.content %> <% } %> </div>
判断是否有摘要以及
index值,显然
post.ejs传过来的
index值为
false;
接下来判断
page.toc是不是不等于
false,这一块的主要作用是可以在文章的前置声明里设置
toc: false来关闭目录功能。当没有设置
false时,插入上面写的
toc.ejs局部模块。
OK!完美嵌入进去,接下来就是设置样式了,进入
source/css/_partial/目录下,创建
toc.styl.最后别忘了在
source/css/style.styl文件里加入这句了
@import '_partial/toc'。显示如下图,样式可以自行调整。
toc.styl
.toc-article { background: #eee; padding: 1em; position: relative; left:2em; } .toc-article .toc-title{ padding-bottom: 0.8em; font-weight: bold; } #toc { line-height: 1.1em; font-size: 0.8em; float: right } #toc .toc { padding: 0 } #toc li , .toc li { list-style-type: none } #toc ol { margin: 0; } #toc .toc-child { padding-left: 1.5em }
效果如图
相关文章推荐
- 什么是真正的程序员
- c++ 设计模式9 (Abstract Factory 抽象工厂模式)
- hexo优化目录
- 大数据技术人员的工具包——开源大数据处理工具list
- nefu A Simple Math Problem 459 (矩阵连乘)
- iphone 机型获取
- 【SDUT 3038】迷之博弈
- C语言的画图(圆形动画)
- python的paramiko源码修改了一下,写了个操作命令的日志审计 bug修改
- office 2013 激活的简单方法
- Android ContentProvider和Uri详解
- 编写一个函数,递归遍历,实现无限分类(新浪)
- 校园网上网认证
- Drawable
- 尚学堂IOS开发入门到精通
- 尚学堂IOS开发入门到精通
- Git
- 校园网上网认证
- MVC4过滤器
- centos的nginx+https配置