瞎搞Hexo博客

没错我又开始瞎搞我的 blog 了。

源码问题

看了 yansheng836 的 README.md (smwy)和某个 issue ,觉得自己也应该把源码一并传到 github 上。

我在 git 仓库里开了个名为 source 的 branch,本地也开了个仓库,现在每次更改之后就将源码推送到 source

然后每次搞完 blog 在 commit 的时候就要多写几行。

1
2
3
4
hexo cl && hexo g && hexo d
git add *
git commit -m "~"
git push origin master:source

不妨顺便把 .gitignore 也贴在这里:

1
2
3
4
5
6
7
8
.DS_Store
Thumbs.db
db.json
*.log
node_modules/
public/
.deploy*/
.gitignore

渲染问题

总有时候不想让 hexo 渲染某些 blog 里的 html 或者 md 文件。

于是可以改根目录下的 _config.yml

查了一下,发现只用改 skip_render 即可。

好像路径匹配用的是 glob 表达式,感觉和正则表达式有些相像,但规则简单得多

这里就不放了,可以去阮一峰的博客学习。

隐藏博文

大概知道怎么搞了,然而咕了。

怎么我老是咕啊

多地编辑

经笔者尝试多地编辑后,出现了一些小问题。

不用hexo init

啊,git clone -b source <my_repo>之后,可以不用hexo init

不如说不应该用,否则会多出令人烦躁的一些初始化的产物

直接

1
2
3
npm install
npm install hexo-cli -g
npm install hexo-deployer-git --save

就好了。

拯救自定义排序

首先,我的自定义排序没了。

这是因为原本自定义排序是通过更改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
29
30
31
32
33
'use strict';

var pagination = require('hexo-pagination');

module.exports = function(locals) {
var config = this.config;
var posts = locals.posts.sort(config.index_generator.order_by);

posts.data = posts.data.sort(function (a, b) {//这里是排序
if (a.top && b.top) {
if (a.top == b.top) return b.date - a.date;
else return b.top - a.top;
}
else if (a.top && !b.top) {
return -1;
}
else if (!a.top && b.top) {
return 1;
}
else return b.date - a.date;
});
var paginationDir = config.pagination_dir || 'page';
var path = config.index_generator.path || '';

return pagination(path, posts, {
perPage: config.index_generator.per_page,
layout: ['index', 'archive'],
format: paginationDir + '/%d/',
data: {
__index: true
}
});
};

恢复font-awesome

咋 font-awesome 也没了。

尝试了各种方法,最后直接在/themes/next/_config.yml里加了下面这句:

1
fontawesome: //cdnjs.cloudflare.com/ajax/libs/font-awesome/4.6.2/css/font-awesome.min.css

然后现在就是在线拉取 font-awesome 了(

拉取更新

啊这个大概不用提吧。

1
2
git fetch origin source
git merge origin/source