我的这个博客是用 Astro 搭建的,速度快,SEO 优化也做的不错,UI 也是贴合我心意的简约风格。我以为有了这个博客后,我会笔耕不辍的保持更新,但事实证明我想多了,除了写文章这件事本身就会让人产生怯意,最重要的是我不喜欢 Astro 这类静态博客要使用 Git 提交数据的方式——哪怕我日常写代码都要用到 Git,但写文章还要用 Git 就让我觉得很痛苦。这也成了阻止我更新博客的很重要的一个因素。
这篇文章里我不想去研究为什么在 2025 年快结束的时候我开始更新博客了,这个话题可以放在另一篇文章里探讨。这次我只想聊聊如何消除使用 Astro 更新博客的阻力。
改变的契机来源于我关注的一位博主,他写了一篇使用 AppleScript 脚本自动化更新内容的文章(我搜了一下,貌似是这篇:一键发布 Newsletter:AppleScript 与 Quaily CLI 的完美配合),这对我而言是一个很大的启发。但是呢,我记得在我看的那篇文章里,作者是用 BBEdit 写作并运行的脚本运行的自动化流程,这就让我犯了难,我并不想用 BBEdit,而我使用的软件也没有哪个有这种运行脚本的能力,所以这件事就被我搁置到了一遍。
直到我想起了 Keyboard Maestro(之后就简称 KM)。
关于 KM 的细节我这里就不赘述了,有兴趣的话可以自己去他的官方研究,简单来说,它可以替代键盘和鼠标,以自动化工作流的方式简化日常重复用到的一些操作,从我入手这个软件到现在也有一年多的时间,根据我平时使用软件的习惯已经创建了很多 Macro(比如插入时间、覆盖软件原有的快捷键、全局的快捷操作等)。

说到这问题就简单了,虽然我不用 BBEdit,但是我可以在 KM 里配置一个 Macro,当我写完博客文章并按下一组预设好的快捷键,自动触发一段 Bash 脚本,帮我创建并提交 Git Commit 到 GitHub 仓库中。这样一来,光是想想这个过程都让我感觉轻松了不少。
下面展示最终的效果:
嗯,就是这么简单而丝滑~hahahaha
整个流程就两步:
- 出现一个弹出框让我输入 Git Message 信息(如果不写,就默认生成当前的提交时间)
- 将上一步输入的内容插入脚本并生成 Git 提交
(这里插一句,我最初是打算给 Astro 接入一个第三方的 Headless CMS 平台,当时选的是 Payload,项目我都建立好了,但是在实现的过程中才发现有些麻烦,因为涉及到要自定义 Lexical 编辑器的配置,这意味着我还得去熟悉 Lexical 的文档,哪怕是在 AI 的辅助下这个过程也稍显复杂,因此被我放弃了)
说起来也很不可思议,仅仅是做了这么一点微小的调整,就让我对更新博客这件事的抗拒淡化了了很多,剩下的那部分可能也就是太懒了吧 😅。