这个月我刚好完成自己设置的 30 天写作挑战,从结果上看,我达成了 3/4 每日更新的目标。
这其中有几天,我实在是厌烦了公众号编辑和发布流程。
和很多技术人员一样,我习惯使用本地的 Markdown 编辑器编辑文档,在发布到公众号之前我已经有一套自己的 Github 流程来自动发布文章到我的博客。
这个流程实现的效果是每次我本地编辑完文章,Github Action 都会触发我写的脚本生成静态的 HTML,发布到 Github Pages。
但是在尝试更新公众号这段时间,我一度非常挣扎。我看大家的做法都是使用mdnice 一类的在线排版工具,复制粘贴到公众号的后台编辑器。
最痛苦的是图片!因为目前市面上也没什么免费的图床,即使拷贝了排版好的内容,图片还需要一张一张再上传到公众号,
在持续更新了十多篇文章之后,我就觉得非常琐碎而无聊,刚好那几天有很多其他杂事,因此我断更了几天。
后来我搜索了一把,发现有个 Python 包 WeRoBot 可以通过 API 上传文章和图片到公众号的资源库,所以我花了点时间自己写了一个 Python 脚本 markdown-to-wechat,在我自己的服务器上定时拉取我的 Github repo,如果有新文章则自动同步到公号。
这个代码写得很丑,因为我硬编码了很多 HTML css,不过真的是太实用了。现在我的写作流程是这样:
整个过程中除了本地写文章,其他都是自动化实现的。
公众号是一个封闭的系统,还有诸多限制,比如外链嵌入,比如发布后修改只能一次,这些都是违反互联网开放精神。我目前做的就是任何我发布到公众号的文章,在 catcoding.me 上都有原版,如果后续我修改了文章会自动更新到网页版本。
我在 知识管理工具和经验 提过,最适合自己的工具永远是自己私人定制的,只有工具和流程做到完美配合,才能达到最好的效率。
懒惰是程序员最好的美德,我们要把琐碎的、重复的事情自动化,这样才能把精力放在需要创意的地方。
这不,这样折腾好之后,我现在每天写点什么的习惯都养成了😉。