记录我自己的 Hexo 配置变动
非常有用的 Hexo 功能扩展
在主题中开启mathjax开关
如何使用了主题了,别忘了在主题(Theme)中开启mathjax开关,下面以next主题为例,介绍下如何打开mathjax开关。
进入到主题目录,找到_config.yml配置问题,把mathjax默认的false修改为true,具体如下:
1 | # MathJax Support |
别着急,这样还不够,还需要在文章的Front-matter里打开mathjax开关,如下:
1 | --- |
Update Hexo
1 | npm update |
gulp 压缩站点
gulpfile.js
1 | /* Refrences: |
文章置顶
Usage:
sticky: true # 添加图钉
top: 1 # 置顶排位设置:
修改 hero-generator-index 插件,把文件:node_modules/hexo-generator-index/lib/generator.js 内的代码替换为:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28'use strict';
var pagination = require('hexo-pagination');
module.exports = function(locals){
var config = this.config;
var posts = locals.posts;
posts.data = posts.data.sort(function(a, b) {
if(a.top && b.top) { // 两篇文章top都有定义
if(a.top == b.top) return b.date - a.date; // 若top值一样则按照文章日期降序排
else return b.top - a.top; // 否则按照top值降序排
}
else if(a.top && !b.top) { // 以下是只有一篇文章top有定义,那么将有top的排在前面(这里用异或操作居然不行233)
return -1;
}
else if(!a.top && b.top) {
return 1;
}
else return b.date - a.date; // 都没定义按照文章日期降序排
});
var paginationDir = config.pagination_dir || 'page';
return pagination('', posts, {
perPage: config.index_generator.per_page,
layout: ['index', 'archive'],
format: paginationDir + '/%d/',
data: {
__index: true
}
});
};
Front-matter 举例
1 | --- |
添加加载进度条
修改主题配置文件(_config.yml)将pace: false改为pace: true就行了,你还可以换不同样式的加载条,如下图:
参考更多形状
修改文章底部的那个带#号的标签
具体实现方法
修改模板/themes/next/layout/_macro/post.swig,搜索 rel=”tag”>#,将 # 换成
实现摘要
在文章开头写好摘要后,另起一行键入<!−− more −−>即可,就像这样
1 | --- |
实现文章统计功能
具体实现方法
在根目录下安装 hexo-wordcount,运行:
1 | $ npm install hexo-wordcount --save |
然后在主题的配置文件中,配置如下:
1 | # Post wordcount display settings |
实现网站统计功能
具体方法实现
切换到根目录下,然后运行如下代码
1 | $ npm install hexo-wordcount --save |
然后在/themes/next/layout/_partials/footer.swig文件尾部加上:
1 | <div class="theme-info"> |