2020 年,我的微信公众号 Windows 平台流程化写作与发布心得
Matrix 是少数派的写作社区,我们主张分享真实的产品体验,有实用价值的经验与思考。我们会不定期挑选 Matrix 最优质的文章,展示来自用户的最真实的体验和观点。
文章代表作者个人观点,少数派仅对标题和排版略作修改。
对于「个人微信公众号(以下简称公众号)的流程化发布」这个话题,其实在互联网上被很多人讨论过。说实话我自己也钻研了很长时间,至今仍不敢和人妄下定论「我已经不用担心公众号发布的事情」,但是目前的方案和以前相比,确实有了很大提升。话不多说,整理成一篇 Windows 下的公众号流程化写作与发布方案,以供后来参考。
此外,我还是保持以往写作的叙事风格,力求把事情说清道明。此外,加粗的部分也为「太长不看」而准备。
广义上看,对于「码字→配图→成文→样式化→发布」这样一个写作过程,一千名作者眼中有一千种方法。但对于拥有公众号的作者来说,各种不同的方案所要解决的问题都直指一个共同的核心——公众号该如何流程化发布。
公众号的特殊性,导致它的发布条件众所周知地苛刻:
如此种种,不再详述。
而需要解决好这个问题,重点就应该放在「流程化」上。简言之,就是形成一套不囿于文章中具体的段落句读的、整体而宏观的、一步到位的公众号发布流程,最好同时也能让公众号以外平台的发布得到兼顾。
所以,本文就讨论一下,如何在 Windows 上一次性完成主要写作过程,并流程化发布于公众号。
对于 Windows 平台,我非常喜欢 Typora 这款应用。在刚接触 M↓ 写作的时候,我就一口气下载了很多个本地编辑器,最终敲定了 Typora。先简单说决定性因素:
Typora 对我来说如此趁手,以至于如果哪天公众号的条件苛刻到我必须放弃用 Typora 进行本地创作的话,我宁可放弃公众号。
公众号编辑器难用,图片问题是大头。在自己的上一篇文章中,甚至用到了多达 21 张静态图片加上 5 张动图。如果图片问题无法解决,我便对发布公众号提不起一丝一毫的欲望。
在使用本地编辑器进行写作的过程中,配图往往有以下几种方法:
其实一眼就可以看出,各种类型万变不离其宗:要么从本地导入,要么从剪贴板粘贴。从剪贴板粘贴的好处是方便,能省一步是一步,但是对于素材管理却是噩梦;从本地导入则更有条理,不过稍稍麻烦一些。
对于长期写作而言,良好的写作习惯非常重要。我在生活中是一个很注重条理性的人,这一点性格也被我带到了数字世界的文件管理上。我会将每篇文章的 M↓ 文稿都存放于以写作时间命名的目录下,并在此目录下建立一个 ./Img
文件夹,存放文章的所有配图,并且存放的时候就直接将图片命名,然后将自己的所有文章全部上传到 iCloud,以便多终端访问、修改。
随手将图片命名的好处在于,在插入图片到文章中后,将来渲染样式时给图片起标题就会非常方便。
所以我摒弃了剪贴板粘贴的方法,每次配图都先保存到 ./Img
文件夹,再拖入 Typora 中。另外,我在 Typora 中修改了插入图片的默认 M↓ 语法,以相对路径显示图片位置,而且我上传 iCloud 的也是整个目录,所以不会担心跨平台的问题。
在公众号后台中上传图片,目前我发现了三种方法:
显然,我采用了最后一种做法。此时,对于在互联网发布(特别是在公众号发布),图床的必要性就显现出来了。这就涉及到图床选择的问题。
需要明确的是,公众号后台对于文章图片采取的策略是「一律上传到微信自己的 CDN」,有一说一,这一点还是很方便的。所以,选择图床的时候,我就记住一点:图床不重要,能让微信拉取到图片才重要。换句话说,只要微信从公众号编辑器拉取到图片,接下来的事情就不用我操心了,哪怕某一天图床跑路了,文章配图依然在,它甚至连水印都会帮我打好。
由于本文的环境是 Windows 平台,我自然而然地想到了 Windows 下著名的上传与分享工具:ShareX。但是就实际使用的体验来看,并不是很好。原因如下:
所以,如果 Typora 能够整合一个图床上传服务的话,一切就会好很多。
巧得很,Typora 中确实整合了一个名为 PicGo 的图床聚合应用,那我就没有理由不选择它了。
同样,我将主流的几家图床服务都尝试了一下:
所以,看似选择很多,有这么多非临时的图床服务,但是仔细一考量,其实路全都被堵死了。我在这一步一筹莫展了很久,后来才想通。还是那句话:图床不重要,能让微信拉取到图片才重要。所以,我只需要提供临时链接的图床就可以了。于是我想到了 Markdown Nice 排版工具(以下简称 mdnice)【后文详述 2】的开发者 @Phoebe 先前自建的临时图床:mdnice 图床。
但是,既然是临时图床,就会面临一个新的问题:在 Typora 中将图片上传之后,本地图片的链接就会直接被替换成图床的链接。这对于临时图床来说是致命的,因为有可能以后再打开这篇文稿,所链接的图片就被全部清空了。于是我采取了这样一种方法:在我的写作流程里,我会保留一份「用本地链接格式配图的 M↓ 文稿」(以下简称「原文稿」),然后将其复制一份,单独用于上传临时图床,得到一份「以图床外链格式配图的 M↓ 文稿」(以下简称「图床版文稿」。
其实,当我去查找 mdnice 图床的时候,发现已经找不到了。不知从何时开始,@Phoebe 转而采用了开发者 @编程如画 在2019 年年末写的一个名为「图壳(imgkr)」的图床。就目前看来,这个图床的链接是长期保留的,不过我观念比较传统,依然是不习惯于以图床链接的形式来长期保存文章的,所以图壳对我而言依然是一个临时图床,我也就仅将其当作公众号发布的跳板来使用。
@编程如画 在 图壳的开发日记 里写道:
这段时间一直在做一些开源项目和小工具,囿于国内没有好用的图床,为了解决图片存储问题,与@小匠合作做出了自己的图床,并开放出去,希望得到大家的支持。
图床找到了,接下来就是如何配置的问题,这些都不难。
首先需要下载 PicGo 应用,并且在 Typora 的偏好设置中启用。
然后,在 PicGo 中添加 web-uploader 插件 。
提示:安装插件需要 npm 支持,可以先在 Windows 上安装 Node.js。这是手动安装 web-uploader 的地址,也可以在 PicGo 中自动安装。添加完成后,插件面板便会显示。
参考 这篇文章 在 PicGo 中自定义 Web 图床。
这一步对于我这样不懂代码的「麻瓜」来说,属实走了不少弯路,不过好在最后还是琢磨出来了。
到目前为止,Typora 添加图壳作为上传的图床,就已经完成了。整个配图的过程梳理一下:
到此为止,写作的部分就已经结束了。
样式,或者俗称排版,是一篇文章的点睛之笔,也是文章风格化最直接的体现。对于 M↓ 格式的文章而言,样式化主要依托于 .css
样式表。而如果需要在富文本格式的公众号编辑器中套用自己常用的样式表,则需要曲线救国一番,方法包括以下几种:
首先来看第一种。Typora 本身即支持导出 HTML,导出后直接粘贴在公众号编辑器中,所以第一种方法是最方便的。但是这样子的弊端也很明显,就是会导致各种各样的格式问题,包括但不限于:
以及一些其他问题。如果再去逐项排查修改,不仅查找困难、过程枯燥、步骤繁琐、毫无意义,而且也会极大地降低写作效率,有违流程化写作「一步到位」的理念。所以,粘贴 HTML 的方案被我排除。
很多人都知道,对于 M↓ 纯文本的排版,有一个非常好用的浏览器扩展:Markdown Here,我也经常使用它。Markdown Here 支持自定义样式表,而且在浏览器中任何可以输入文本的地方,都可以使用它来一键排版。所以,理论上讲,Markdown Here 的适用场景非常广阔。
可惜事实并非如此:
对于其他平台,这种「一键排版」的扩展程序并不能够识别本地图片链接,也无法从本地上传。所以图片必须是图床链接的形式,而且是相对稳定的图床,如 imgur、SM.MS 等等。而我前文已经提到,我仅仅是把图壳作为「临时图床」来使用的。
图壳是一款在 2019 年 12 月才诞生的、由个人开发者开发的免费图床,我对它的历史、口碑、用户协议、隐私政策、甚至安全性全都无从知晓。如果此时我只是为了使用浏览器扩展来排版,就将相同的内容再上传一遍到其他图床,将会非常影响效率。
所以只剩下第三种方案——寻找已经适配了公众号的第三方排版工具。
目前的公众号排版工具其实并不少,如我先前接触的「可能吧」公众号一键转换器、后来了解到的 Wechat Format 排版工具,以及最终使用的 mdnice 排版工具,和最近刚了解到的 Md2All 排版工具等等,具体也可以参考互联网上的这篇推荐。其中:
我已经把 WeChat-Format 的源码放在 GitHub 上了,想要什么自己去改吧,Free as in Freedom。
所以,我最终选择的是 @Phoebe 开发的 mdnice。其实 mdnice 所采用的图床也正是由 @编程如画 开发的图壳,二者背后的故事可以在 @编程如画 的这篇《我体验开源世界的这几年》推文中了解到,或者参考 Markdown Nice 文档。
印象中,大约半年以前在使用的时候,mdnice 的网页和现在的并不相同。不知何时,mdnice 将页面网址更新为 https://mdnice.com/,并且推出了相应的浏览器扩展程序,可以在公众号的编辑器页面上显示更多元素,也可以直接选择或自定义 CSS、直接渲染。
美中不足的是,这个扩展程序会导致原本的页面元素也被样式表所改变。鉴于扩展程序至今仍在开发中,所以我就暂时先不用了。
直到这一步,我与「流程化发布公众号」的斗争才进入了终局:采用 mdnice 的网页来排版,然后直接在公众号编辑器里粘贴。由于是发布个人公众号,所以可以有充分的空间来自定义自己喜爱的样式表;另一方面,mdnice 也内置了越来越多的样式表,可以供一键调用。
其实这一步反而没什么好说的了,梳理一下:
之前讲过,我不仅发布于微信公众号这一个单一的平台,所以我也需要考虑目前这套流程的通用性。好在搞定了公众号之后,其他的平台就简单太多了。由于我已经留存了「原文稿」和「图床版文稿」两种格式的文章备份,所以对于支持自动上传图片至 CDN 的平台,我就用图床版文稿,不支持的平台我就用原文稿。
事实上,在我的理解中,将「写作」与「发布」完全隔离,正是让创作流程化、模块化的重中之重,而「让创作流程化」又是高效写作的一个重要因素。所以我费劲巴力,为的就是形成一套「本地创作→云端备份→公众号发布」的流程。在我文章写完的那一刻,接下来要考虑的就是发布层面的事情,就该脱离文章内容本身了。如果追本溯源的话,M↓ 标记语言诞生的初衷也正出于此。
对于「写作」和「发布」的隔离,我的做法归根结底无非就是:
而要妥协于平台,则不难看出,整个流程的难点就在于如何面对公众号匮乏的图片功能和羸弱的样式支持。
那么就考虑到图床的问题:用哪个应用来上传,是采用永久图床还是临时图床。如果用永久图床,就得寻找靠谱的东家,而且公众号后台可以拉取;如果是临时图床,那么就无所谓了。所以对比之下选择了 Typora 内建的 PicGo 图床聚合服务,并且根据 API 自定义添加了图壳的图床。
同时我也引申了一下文章管理的方法,比如在 M↓ 格式中如何引用图片的位置,以及如何在本地和云端存放自己的往期文章等等。
最后就到了样式化的环节,需要综合考虑公众号格式的支持、样式表的自定义、使用起来的便捷程度等诸多因素。在这个环节,我最终确定了 Markdown Nice 排版工具。
以上就是我目前的「微信公众号 Windows 平台流程化写作与发布」的整套方案。
在写这篇文章时,《Markdown Nice-微信公众号排版神器》、《【两年的干货】新媒体写作工具指南》、《盘点国内免费好用的图床》等文章也给了我很大帮助。
这些以 Typora 为基点的一切,对于转移到 macOS 平台而言,理论上也是适用的。然而在 macOS 上,有 Ulysses 这样优秀的行业级写作和文章管理应用,不用实在可惜。所以,我还打算整理一套基于 Ulysses 的 「macOS 流程化写作与发布方案」。
今天也没什么干劲,这件事情就等到以后再去做吧!
摄影爱好者/启蒙军特工/Ryzentosh用户/GTA5三年玩家/这辈子都不想再碰物理