Hexo添加文章时自动打开编辑器
前言:
- 在 Hexo 中新建一篇博文非常简单,只需要在命令行中键入以下命令然后回车即可:
1
hexo new "The title of your blog"
- 此后 Hexo 便会在 Hexo 的根目录的 source 文件夹下的 _ports 目录下自动帮你创建相应的 md 文件。然后我们打开该目录,找到刚刚 Hexo 自动生成的文件打开编辑即可。
- 但是当我们的博文比较多,这样我们就需要在成堆的 Markdown 文件中找到刚才自动生成的文件,这样做显然是一件比较痛苦的事情。
解决思路
在访问 Hexo 的 Github 项目时,发现有类似的 issue,Hexo 作者也给出来解决办法,以下为作者原文:
ou can try to listen to the new event. For example:
1 | var spawn = require('child_process').exec; |
解决方案
根据作者给出的示例,一番折腾过后博主终于在自己的机器上实验成功了,下面给出操作步骤:
- 首先在 Hexo 目录下的 scripts 目录中创建一个 JavaScript 脚本文件。
- 如果没有这个 scripts 目录,则新建一个。
-
scripts 目录下新建的 JavaScript 脚本文件可以任意取名,如:open-editor.js,其中内容如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18var exec = require('child_process').exec;
var os = require('os');
hexo.on('new', function (data) {
var editorPath = "D:\\Program Files\\Typora\\Typora.exe"; // 修改为你的编辑器路径,比如 Typora 的路径
// 检测操作系统并使用相应的命令
if (os.platform() === 'win32') {
// Windows 系统
exec(`start "" "${editorPath}" "${data.path}"`);
} else if (os.platform() === 'darwin') {
// macOS 系统
exec(`open -a "${editorPath}" "${data.path}"`);
} else {
// 其他系统 (Linux)
exec(`"${editorPath}" "${data.path}"`);
}
}); - 保存并退出脚本之后,在命令行中键入:
1
hexo new "auto open editor test"
- 是不是就顺利的自动打开了自动生成的md文件啦~