我想快点写博客

我很喜欢Flow Launcher,他有一个功能是跑命令行。

我最近重启了博客,想着怎么更快地开始写博客。

于是我希望能用Flow Launcher搞一个快速脚本,调用hexo生成文章之后,将其打开。

第一步 生成文章

我以前是拿bat写了个直接在目标文件夹打开git bash的程序,所以一开始我还是一头选择了bat。

1
2
3
@echo off 
CHCP 65001
start /d "<Git目录>" git-bash.exe -c "cd e/atoooms/hexo && echo -n 'enter title: ' && read title && hexo new $title && read -s -n1 -p 'press any key to continue...'"

但我觉得在bash里输入标题再生成并不美观,还在思考bat把参数传给shell的办法。

这时我才皤然醒悟,我都用启动器了,为啥不直接跑sh脚本。

于是赶紧改写。这样在用代码打开.sh时,可以直接传个标题参数进去。

1
2
3
#!/bin/bash
cd <博客目录>
hexo new $1

第二步 将其打开

其实是个start的事情。

根据我设定的文件名生成规则,可以直接算出生成的文件名。学了下start和shell变量的使用,很快就写出来了。

1
2
3
4
5
6
#!/bin/bash
cd <博客目录>
filename=$1
myfile="<博客目录>/source/_posts/$(date "+%Y%m%d")-${filename}.md"
hexo new $filename
start <编辑器目录> $myfile

第三步 Flow Launcher的配置

1.10预览版支持Custom Query Shortcut,可以自定义查询捷径,有点类似于拿snippets写latex。

于是我写了这样的规则:

短代码 展开
hexo new > > start "" "<Git目录>\git-bash.exe" "<博客目录>\hexonew.sh"
hexo s > start "" "<Git目录>\git-bash.exe" "<博客目录>\hexos.sh"
hexo d > start "" "<Git目录>\git-bash.exe" "<博客目录>\hexod.sh"

实现了几秒内完成常见的三个操作。

总结

最终的脚本其实很简单,但我完全不熟悉shell的使用,一开始也没有想着去学shell,而是就着自己半生不熟的bat硬写,导致了效率低下。

我现在会用脚本做简单的批处理简化操作了,不过我自己该做的,一直都是立刻行动。