#模型时代# Markdown发明人的创作哲学:从一个Perl脚本到大模型时代的通用语言,只放"能完美表达"的功能
Markdown大概是大模型时代最不起眼但最重要的基础设施之一。几乎所有LLM的输入和输出都依赖这种格式,ChatGPT的回复是Markdown,Claude的回复是Markdown,你在GitHub上读到的每一个README是Markdown,Notion、Obsidian、飞书文档底层也都在用它。它无处不在,不过似乎没看到很多人讨论这东西是谁发明的。
找资料的时候发现,Crossword播客2025年7月刚好请到了Markdown的发明人John Gruber,聊了一期很长的对话,覆盖了Markdown的诞生内幕、设计哲学、开放与封闭平台之争,以及为什么他认为Substack是个陷阱。
所以整了一下这期对话。
介绍他的观点之前,先简单说一下这个人。John Gruber,1973年生于费城,Drexel大学计算机科学专业毕业。第一份工作在Bare Bones Software——就是Mac上经典文本编辑器BBEdit的开发商——干了两年,对文本处理产生了深度执念。2002年辞职创办个人博客Daring Fireball,两年后发明Markdown。
在苹果评论圈,Gruber的地位很特殊:他不是传统媒体记者,但Apple高管Phil Schiller和Craig Federighi曾多次在WWDC期间做客他的播客The Talk Show现场录制节目,这种待遇在独立博主中几乎没有先例。他的博客23年没改过设计、没加过Google Analytics、没入驻任何平台,靠RSS订阅和每周一条赞助帖养活了整个运营。用他自己的话说,Daring Fireball是"博客形态的Mac专栏"。
一、Markdown的真实诞生过程:一个人的需求,一个人的beta测试
Gruber讲了完整的创作时间线,这段信息密度很高。
1、起因是写博客写到崩溃
2002年Gruber开始写Daring Fireball,用的是Movable Type(当时主流的博客内容管理系统)。当时只有两个文本处理选项:要么写纯HTML手动标记每一个标签,要么用一个只会自动加`
`标签的简易模式。他选了纯HTML,每篇文章先在BBEdit里写完,再手动加上所有HTML标签,然后粘贴到CMS里发布。
真正让他受不了的不是初次写作,而是改错。博客最日常的操作是修拼写、调格式、补内容。一旦文章已经标记成HTML,回去改一个斜体范围都很痛苦。
2、Textile给了灵感,但原作者说"你该自己做一个"
当时一个叫Dean Allen的开发者做了Textile(一种文本格式化语法,比HTML更易读,但设计风格偏向man手册那种标记方式)。Gruber试用后觉得方向对但细节不对,就不断给Dean发反馈。Dean回了一封关键邮件:"这些反馈很好,但你说的其实是另一个东西,你应该自己做。"
Gruber说这封邮件点醒了他。自己做意味着可以甩掉Textile里他不喜欢的那些基础设计决策。
3、Aaron Swartz是唯一的beta测试者
Aaron Swartz(亚伦·斯沃茨)是美国互联网早期最有影响力的年轻开发者之一,参与创建了RSS 1.0规范和Reddit。Gruber做了一轮调研,从各种类似格式里借鉴设计——包括Aaron的ATX格式(一个只有三四个功能的极简标记语言)。然后他把Markdown做成Movable Type插件,同时也能当命令行脚本独立运行。
2003年底到2004年初,大约三四个月时间,Gruber在自己的博客上默默用Markdown写作,只有Aaron一个人在测试。因为只有两个人,他可以随便做破坏性改动,改完语法规则后回去手动修最近六篇文章就行。
Aaron反复跟他说:"这就是它了,我以后不会用别的方式写东西了,别再磨蹭了,赶紧发布。"
Gruber特别提到,外界有一种说法认为Aaron Swartz是Markdown的"共同发明人",这不准确。Aaron是最重要的beta测试者和推动者,但Markdown是Gruber一个人写的。他保留着所有邮件,但因为Aaron后来在与美国联邦政府的法律纠纷中自杀身亡(2013年,年仅26岁),Gruber至今不太愿意翻看那些通信。在播客里他直说了:"He's fucking dead",语气里全是遗憾。
4、发布后前几年几乎没人用
"头几年真的没有起飞。人们还在用Textile做新项目,我就想——为什么?我的东西明明更好。"但他什么都没改,就是等着。三四年后开始有人用,五六年后变得流行,十年后反而太流行了——有人开始在不适合的场景里强推Markdown。
二、Markdown的设计哲学:只放"能完美表达"的功能
这是整期对话里对产品设计最有启发的部分。
1、官方1.0版没有表格,这是故意的
Gruber和PHP Markdown的作者Michel Fortin一起设计了表格语法,但他最终没有放进官方版本。原因是:表格的复杂度很容易失控,一旦稍微复杂一点就会崩塌。
他的原则是:官方Markdown里的每一个功能,都必须在它覆盖的范围内"完美"。标题、斜体、粗体、链接、图片——这些都能做到完美表达。表格做不到。
"如果我非常自私地只把能完美表达的东西放进官方Markdown,那它就一直是可靠的。"
2、多种"风味"是成功,不是失败
GitHub Flavored Markdown是Gruber眼中"除了自己版本之外最好的Markdown"。他认为Markdown不应该被当成一个需要统一规范的技术标准,而应该被当成一个思想。
"有技术极客幻想着能做出一个让所有人都满意的Markdown规范。我告诉你,不可能。使用场景差异太大了。"
他认为自己对Markdown的"放手"态度反而促进了它的繁荣。GitHub Markdown就是最好的证明。
3、Markdown正在变成小写的"markdown"
最近三四年,Gruber注意到越来越多的产品和文档里写的是小写的"markdown",就像写"plain text"一样——它正在从一个专有名词变成一个通用词汇。"人们觉得它一直就在那儿。"这让他有点不爽,但也没办法。
三、开放vs封闭:世界是紫色的,但核心层的开放还在
Gruber对开放与封闭的判断框架很务实,不是非黑即白的理想主义。
1、整体格局比他20年前想的更封闭
"2025年的互联网媒体生态比我希望的更封闭,也比我20年前预测的更封闭。"Instagram、所有Meta的产品,都比他预期中更封闭。但他也说,核心层面的开放性还守住了。世界不是全红(封闭)也不是全蓝(开放),是紫色的——只是逐个看,某些领域很红,某些很蓝。
2、早期互联网最革命性的特征:不需要在你设备上运行软件
Gruber回忆早期互联网让他兴奋的地方:你把内容放在一个公开URL上,任何人用任何设备访问这个URL,就能拿到内容。你不需要在对方设备上安装或运行任何软件。
"我们不是在请求运行软件——这是一个巨大的要求,也是一个巨大的安全风险。我们只是说:这是我的东西,这是它的格式,你拿到内容,想怎么用就怎么用。"
他认为这本该是媒体的未来。现实是,今天大部分媒体消费都通过专有客户端软件进行。"我觉得这在某些方面很糟糕。"
3、付费不等于封闭
Dithering(Gruber和Ben Thompson的付费播客)收费5美元/月,但你付费后拿到的是一个标准RSS feed,可以用任何播客播放器订阅。"它不是免费开放的,但在技术层面是完全开放的。"这个区分很重要——开放指的是标准和格式,不一定指免费。
四、Substack是个陷阱,WordPress本该占领这个市场
这是Gruber在对话中观点最鲜明的部分。
先说一下背景。Substack是2017年在旧金山成立的订阅制写作平台,创作者可以免费发布内容,也可以设置付费订阅(平台抽成10%)。它的核心卖点是"写完即发到读者邮箱",不需要懂技术、不需要建站、不需要自己搞支付。到2025年,Substack已经有超过5000万活跃订阅和500万付费订阅,估值11亿美元。大量知名记者和作家入驻,包括诺贝尔经济学奖得主Paul Krugman、调查记者Seymour Hersh等。可以把它理解为"英文世界的付费公众号平台",但比公众号更强调邮件分发、更弱化算法推荐。
Gruber对这个平台的判断非常负面。
1、三个判断Substack不行的理由
第一,品牌辨识度变成了束缚。绝大多数Substack网站一眼就能认出来——同一个字体,同一个布局,域名是"xxx.substack.com",滚动两段就弹订阅框。"我不认为这符合任何独立媒体人的利益。"
第二,财务状况有隐患。美国资深政治博主Ana Marie Cox做过调查,Substack两年前有一轮明显失败的融资,后来搞了类似众筹的方式补血。"如果是你们俩做一个Substack这样的产品,早就盈利了。但他们没有。他们花得比赚得多。"
第三,产品方向在往封闭走。Substack的移动App试图同时做RSS阅读器、短内容社交平台(类似Twitter),把一切拉进自己的封闭生态。
2、Paul Krugman的案例:大牌创作者为什么选Substack
诺贝尔经济学奖得主Paul Krugman在纽约时报写了20多年专栏后,跳去了Substack做个人订阅。Gruber觉得这完全没必要——Krugman的读者会跟着他去任何地方,哪怕他找个技术人员搭一个完全属于自己的网站,也能留住95%的受众。
但Gruber理解这背后的心理:有一代人成长在"你需要归属于一个机构"的观念里。自费出书曾经意味着你是民科,你需要一个"正经出版社"背书。同样,自建网站在某些人眼里意味着"没有平台要你"。Krugman从纽约时报跳到Substack,本质上还是从一个大牌跳到另一个大牌,没有完成真正的独立。
3、独立存活10年以上的创作者有一个共同点
Gruber举了几个他认可的长期独立站点:自己的Daring Fireball、Jason Kottke的Kottke.org(运营超过25年的链接博客,被视为博客圈的活化石)、Taegan Goddard的Political Wire(一个用WordPress加付费墙插件运营的政治新闻站)。
这些人用的技术栈完全不同,但有一个共同点:技术上极度独立。无论用什么CMS、什么付费工具,都是自己能控制的。
4、WordPress本该堵住这个缺口
"Substack不应该有成长的空间,因为WordPress本该占领那个市场。"Gruber说不出具体该怎么做,但他的直觉判断很明确:Substack之所以能崛起,是因为WordPress社区没有及时填补"简单订阅制写作平台"这个需求。
Substack的杀手锏其实很简单:邮件阅读体验。网站弹窗烦人,但邮件到了收件箱,空格键一路按到底就读完了。很多WordPress站点确实比Substack读起来烦得多——虽然这不是WordPress的错,但事实就是这样。
"如果你10年后再请我上节目,我觉得我们都会说:记得当年大家都在用Substack吗?那玩意儿崩了。"
五、同样的克制哲学,也体现在他对建站工具的选择上
Gruber对Markdown的设计理念——只做能完美实现的事——也贯穿在他经营网站的方式里。
1、Gruber至今用Movable Type当静态站点生成器
他每次发布或修改文章,Movable Type就在服务器文件系统里生成静态HTML文件,由Web服务器直接返回给访问者。"我可以把Movable Type从服务器上删掉,daringfireball.net会继续100%正常运行。"因为公众访问的东西不经过内容管理系统,只是文件系统里的静态文件。
这和WordPress的工作方式完全不同。WordPress是"动态"的:每个访问者请求页面时,服务器才临时从数据库拼装出内容。Movable Type是"静态"的:内容提前生成好,放在那里等人来拿。前者灵活,后者简单可靠。
2、现代静态站点生成器反而更麻烦了
今天流行的静态站点工具(Hugo、Eleventy等)都跑在本地电脑上,写完之后要通过Git推送到服务器,有一套完整的发布流程。而Movable Type的做法是:在服务器上直接通过网页界面操作,改了就是生效的,没有额外步骤。
"如果人们理解Movable Type的工作方式,它的吸引力会比他们以为的大得多。这种做法算是一门失传的手艺了。"
3、SQLite早几年出现,世界可能会不一样
Gruber至今用MySQL做后端,但他觉得这是杀鸡用牛刀。"一整个数据库服务器对一个博客来说是过度设计。"SQLite是一种不需要独立服务器进程的轻量级数据库,数据就存在一个文件里。如果SQLite早几年成熟,博客工具的默认选择可能完全不同。
Q1: Markdown的设计原则是什么?
只收录"能完美表达"的功能。标题、粗体、斜体、链接、图片——这些都能在其覆盖范围内做到零缺陷。表格因为复杂度容易失控而被排除在官方版本之外。多种变体(如GitHub Flavored Markdown)是设计成功的体现,不是规范缺失的失败。
Q2: 独立创作者在技术栈选择上应该遵循什么原则?
Gruber的判断标准是"技术独立性"。活过10年的独立创作者用的CMS各不相同,但共同点是对技术栈有完全的控制权。Substack的问题在于它把品牌、分发、支付全部收归平台,让创作者失去独立性。付费和封闭是两回事——收费但提供开放标准格式(如标准RSS feed)是完全可以接受的。
Q3: 为什么Substack能崛起,接下来会怎样?
Substack切中了一个真实痛点:网页阅读体验太差(弹窗、订阅框),而邮件阅读体验干净流畅。这个缺口本该由WordPress社区填补但没有。Gruber预判Substack不会长期存活,理由是财务不健康、产品方向走向封闭、历史上类似的平台都没有持久。WordPress会比所有人活得久。
