之前通过Hexo新建文章,在命令行中输入:

hexo new "title name"

然后还需在Hexo根目录下source文件夹下的_post目录打开编辑md文件,而在众多的文章中想找到刚创建好的,是一件较为麻烦的事。好在可以通过JS脚本实现在创建文章后自动打开编辑器。


Hexo的作者在GitHub项目中的issue里,给出了方法,以下为作者原文:

You can try to listen to the new event. For example:

1
2
3
4
5
6
7
8
9
10
11
var spawn = require('child_process').exec;

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

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

子进程用法:

child_process.exec(command[, options][, callback])

在这里直接使用exec(command),利用子进程执行命令行指令打开编辑器

稍加修改便可以使用了:

1
2
3
4
5
6
7
8
9
10
11
var exec = require('child_process').exec;

// Hexo 2.x
hexo.on('new', function(path){
spawn('start "编辑器绝对地址.exe"' + path);
});

// Hexo 3
hexo.on('new', function(data){
spawn('start "编辑器绝对地址.exe"' + data.path);
});

mac系统下只需要将 ‘start’ 换成 ‘open -a’ 。

操作步骤:

  1. 在Hexo目录下新建scripts目录,新建一个xxx.js文件。
  2. 选用适合版本的代码,复制粘贴进.js文件。
  3. 替换掉”编辑器绝对地址.exe”,例如换成”D:\Typora\Typora.exe”,然后保存。

下次使用 hexo new 时就能自动打开编辑器了~。

WebsiteReferenceSay Thanks