hexo 3 添加文章时自动打开编辑器

当还能拥有时…好好珍惜吧…爱情如此…友情如此…亲情更是如此…最关心你的人…别只是永远被你排诸于外…当失去了……流泪又能做什么……

为 Hexo 添加博客时需要在终端输入命令 hexo new post "Post title",输入之后需要手动定位到 source/_posts 中的相关文件,这个目录比较深,定位比较麻烦,而 _posts 目录下可能有上百个文件,找到刚刚添加的那个也得费点劲,如果能在键入新建文章的命令之后能自动打开刚刚新建的文件,那样就方便多了。

GitHub 上也有人也提出了 同样的想法 ,Hexo 的作者 tommy351 给出了一个解决方法,就是在 Hexo 博客的根目录下的 scripts 目录中新建一个 JavaScript 脚本(如果没有 scripts 目录则手动创建一个),在其中捕获 new 事件。

我现在用的 markdown 编辑器是来自韩国的作者的 haroopad, 当然 Mou 也挺好,应用无所谓,平台 osx 10.10,调用的命令是 open,hexo 版本 3.x

vim site_path/scripts/haroopad.js
内容如下

var spawn = require('child_process').spawn;

// Hexo 2.x
hexo.on('new', function(path){
spawn('vi', [path]);
});

// Hexo 3
hexo.on('new', function(data){
spawn('vi', [data.path]);
});

当然了,这是 tommy351 给出的回答,但是在我这里无法正确打开编辑器,参照网友 hexo 2 的代码结果改了改就可以了,如果是其他 APP,直接替换就好

var spawn = require('child_process').spawn;

// Hexo 2.x
hexo.on('new', function(path){
spawn('open -a "/Applications/Haroopad.app" ' + path);
});

// Hexo 3.x
hexo.on('new', function(data){
spawn('open -a "/Applications/Haroopad.app" ' + path.path);
});

这样每次新建文章时候自动打开编辑器,不经意间省下来的时间集,也增强了体验,让写文章更能成为一种乐趣吧~

更多阅读