备份hexo source脚本

hexo目录下的source子目录包含了写作的md文件,在hexo deploy 中是push到github pages的master分支,这样我们可以将整个hexo目录push到该project的hexo分支

假设我的在d:\hexo\,下面有public source等目录

  1. 先将.gitignore文件添加node_modules.deploy
  2. 在此处打开命令行,输入
    1
    2
    3
    4
    5
    6
    7
    //[]表示可省略
    git init . //init git repository
    git remote add github your-github-pages-repo-url
    git checkout --orphan hexo //新建一个孤立的hexo分支,并切换到该分支
    git add --all //add files
    git commit -a -m "2014-5-25 19:22:19" //以当前时间commit
    git push github hexo[:hexo] //推送到github的hexo分支

###使用脚本
其中的后三步add commit push 是以后常用的,写成脚本吧,node就是干这个的…
开始想弄成bat脚本,但在bat中以时间commit,搜了半天,看不懂怎么弄成2014-5-25 19:26:49这种格式,还是弄成node的吧,正好学习下child_process这个包

node backup[.js]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//加载require包
var util = require('util');
var exec = require('child_process').exec;

var now = new Date();
now = util.format("%d-%d-%d %d:%d:%d", now.getFullYear(), now.getMonth() + 1, now.getDate(),
now.getHours(), now.getMinutes(), now.getSeconds());
var command = util.format('git checkout hexo & git add --all & git commit -m "%s" & git push github hexo', now);
var child = exec(command);
child.stdout.on('data', function(data) {
console.log(data);
});
child.stderr.on('data', function(error) {
console.error(error);
});

就几句,另存为backup.js 就O了,考完试再看看能不能弄成hexo插件吧,复习去了…