目录

hexo+gitpages+mweb快速新建文章并发布博客更新(macOS)

阅读前提:

  • 已经用hexo搭建好静态博客,并已经能用hexo d命令发布到gitpages
  • 习惯使用mweb管理md文档

在使用hexo的时候,发现新建发布一整个流程还是过于繁琐。比如想新发布一篇文章的时候,有以下步骤:

  • 先打开终端cd到存放hexo的目录
  • 终端执行hexo new post title,新建文档
  • 用vim(或其他文本编辑器)编辑文章。如果不用vim,我还得切换到别的应用
  • (可能)hexo s预览一下检查md渲染有没有问题
  • hexo g -d发布

而我只是想专注写然后发布(第3步),然后一键发布。并且平时用的是mweb这个markdown编辑器做文档管理,几乎所有的markdown文档都习惯用它写。我并不想在命令行和终端之间切来切去。我想做到的是:

  • 在mweb的外部文档库里,一键新建文档,并带hexo默认的post格式
  • 编辑文档
  • 一键发布到gitpages

实现上述方案的工具:

  • mweb文本编辑器,主要用的外部模式引入站点
  • Alfred PowerPack。代替spotlight搜索,可以自己定制脚本执行(powerpack版)。
  • mweb-alfred-workflow。基于这个Alfred workflow来实现mhexo。

以上前两软件都是收费的。请尽可能支持正版。(当然按国内的情况,嗯。)

mweb-alfred-workflow其实和快速新建文章和与发布无关。但是mweb的搜索功能确实比较弱,用上可以增强不少。

功能说明

按alt+space,激活alfred。

输入mhexo -n [文章标题],可以自动在你的hexo站点文件夹下新建一篇带有hexo默认post格式的文章,标题已经填好了。

http://ww1.sinaimg.cn/large/6530f589ly1g8l1gk0grkj20wy08agpd.jpg

http://ww1.sinaimg.cn/large/6530f589ly1g8l1h201hzj21rs1asaun.jpg

输入mhexo -d,一键生成并发布到gitpages。并自动用浏览器打开gitpages上的站点。

Alfred workflow的定制

把mweb-alfred-workflow拖进Alfred workflows之后,新建下图的最后一行的三个模块。

http://ww1.sinaimg.cn/large/6530f589ly1g8l1hexxjuj21vc1a4arv.jpg

其中mhexo(keyword)的配置如下:

http://ww1.sinaimg.cn/large/6530f589gy1g8l1hqtxn3j20r40f6qch.jpg

添加最后一个bash脚本内容如下:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
if [ -f "${MHEXO_HOME}" -o -z "${MHEXO_HOME}" ];then
   exit 1
fi

export PATH=/usr/local/bin:$PATH

cd "${MHEXO_HOME}"

para_arr=($1)

case ${para_arr[0]} in
	-n)
		hexo new post ${para_arr[1]}
		echo "new post ${para_arr[1]}"
		;;
	-d)
		hexo g -d
		open "$MHEXO_URL"
		echo "deploy done"
		;;
	*)
		open .
		;;
esac

添加变量。按右上角的{x},新增MHEXO_HOME和MHEXO_URL。前者的值是你的hexo站点根目录,后者是你的gitpages域名。

http://ww1.sinaimg.cn/large/6530f589gy1g8l1ib3shmj20qs0bgmzz.jpg

现在打开mweb,就可以使用alfred快速新建文章并发布了。不必在mweb和命令行之间切来切去了。完美!