前言

Hexo 每次新建文章都需要打开终端-切换目录-创建文章-打开笔记软件-打开新创建的文章。这一套流程不免步骤繁琐,因此尝试使用脚本简化流程。

代码

新建一个 .bat 文件,写入下面的代码:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
@echo off
:input
set /p title="请输入文章标题: "
echo.%title%|findstr /r /c:"[&^<>|]" >nul && (
    echo 标题不能包含以下特殊字符: ^&^<^>^|^
    goto input
)
cd /D D:\GitHub\hexo-blog
start /wait cmd /c hexo new post "%title%"
set post_path="D:\GitHub\hexo-blog\source\_posts\%title%.md"
start "" "D:\Program\Typora\Typora.exe" %post_path%

将代码中的站点根目录和 Typora 的程序路径改为自己的路径。

文件另存为 ANSI 编码,否则会乱码。

排坑

过程中发现文章可以正常创建,但是并不能正常使用程序打开,排查下来发现执行完创建 post 命令后终端会直接关闭,因此代码中 start /wait cmd /c hexo new post "%title%" 命令会在新的命令提示符窗口中执行 hexo new post 命令,并且原来的批处理脚本会等待 hexo new post 命令执行完成后再继续执行。

另外,这里使用的是 Typora 打开文件,如果你的编辑器是 Obsidian,可以参考另一篇文章,可以更加方便的创建、发布文章。