最近开始重新写微信公众号,不可避免地又需要重新折腾一下写作环境的配置。微信公众号虽然提供了网页端的编辑器,但是只支持富文本编辑,而我日常都是使用 Markdown 格式,所以需要基于 Markdown 配置一套适合微信公众号写作的环境。

我的需求:

  • 同时支持博客 和微信公众号的发布
  • 足够简单,不需要折腾额外的配置

写作软件选择的是 Ulysses,好几年前就开始使用的写作工具,除了订阅费有点贵之外没有什么其他的缺点,文章支持导出成各种格式。

Roam Research 作为素材库,Ulysses 作为主要的写作工具。

在 Ulysses 中,我设定了一个 Blog 的文件夹,下面有 3 个子文件夹:

  • Draft:所有的草稿
  • Published:所有已发布的文章
  • Dropped:所有废弃的文章

因为微信公众号禁止外链,所以需要额外解决两个问题:

  • 文章中的超链接
  • 图片

超链接

一种方法是使用手动脚注的功能,即在需要进一步说明的内容后面使用 [1] 来进行手动注释。

(图为 Paul Graham 的 Crazy New Ideas 这篇文章中的 footnotes)

另一种方法是使用 GitHub 上的这个微信编辑器 来对 Markdown 格式的文字进行自动转换,这样就会把超链接直接转换成脚注,非常方便。

图片

微信公众号有自己的 CDN,会把外链的图片重新上传一遍,但是这些图片的源地址必须是在国内,比如说我之前是使用的 GitHub 作为图床,在微信公众号中就无法成功上传。

国内的一些云服务是支持图床功能的,但是需要提供备案的域名,本着能不折腾就不折腾的精神,就直接掠过这套方案了。

考虑到本身一篇文章中可能也没有几张图,所以最终还是采用的手动上传图片的方式,对于博客中的文章,会统一把图片上传到 GitHub 的图床,然后替换到 Markdown 中的链接。

总结

Ok,总结一下我的写作工作流:

  1. Roam Research 作为素材库,所有的笔记、quotes 都在这里面;
  2. 有了新的写作想法就在 Ulysses 的 Draft 文件夹中建立一篇文章;
  3. 在 Draft 中写完的文章就导出 TextBundle 格式(包含 md 文件和图片);
  4. 对于微信公众号的文章,使用文中提到的微信公众号 Markdown 工具进行格式的转换,并手动在微信公众号后台上传图片;
  5. 对于博客的文章,把图片上传到 GitHub 的图床,然后替换掉 md 文件中的图片链接。