markdown 是如何统治世界的
本文信息来源:anildash
从最大公司的尖端 AI 系统,到大学生拼凑在一起的随意代码片段,高科技世界的几乎每个角落,都被同一种简单的纯文本格式所标注和描述。无论你是在尝试给 ChatGPT 下达复杂指令,还是想在 Apple Notes 中分享购物清单,或者在 Google Docs 中复制某人的家庭作业,这同一种格式都能搞定。最妙的是,这种格式并非由科技大亨组成的企业集团创造,而是由一个脾气古怪却心地善良的家伙创造的——这哥们现在可能正在重温库布里克的电影,同时为一支绝对无法辩护的运动队欢呼。
但理解这些简单文本文件的诞生过程是值得的,不仅因为我可以吹嘘我的朋友有多慷慨聪慧,还因为这提醒我们互联网真正的运作方式:聪明人想到好主意,这些主意疯狂到很可能真的会奏效 ,然后他们把这些主意无偿奉献出去,一次又一次,直到它们慢慢地统治了世界,让每个人的生活都变得更美好。
留下他们的印记
尽管 Markdown 现在已成为当代互联网的一个基础组成部分,但就像许多伟大的事物一样,它最初只是为了解决一个个人问题。2002 年,约翰·格鲁伯做出了一个非常规的决定,将自己的在线职业生涯押注在两个完全不理性的基础之上:Apple 和博客。
现在很难想象,但在 2002 年,Apple 刚刚从濒临死亡的边缘走出来几年。虽然在今天这个 Apple 主题演讲被当作重大事件对待的世界里很难想象,但那时候,几乎没有人定期报道 Apple,更不用说专门撰写关于这家公司的内容了。当时在线上甚至几乎没有"科技新闻"场景,几乎没有人在写博客。所以约翰决定在他的开创性博客《Daring Fireball》上全力押注 Apple,这确实是个大胆的选择。当时,Apple 才刚刚推出第一款能与 Windows 电脑兼容的 iPod,而 iPhone 还要再等五年才会出现。但这种专注——不仅专注于 Apple,还专注于他报道的所有内容中的细节执着——最终帮助启发了我们今天看到的许多科技媒体格局。约翰的时机也恰到好处——从那个时代的沉闷中,在《Daring Fireball》创立后的这些年里,Apple 的股价上升了约 120,000%,其文化相关性可能增长幅度更大。
到 2004 年,不仅是苹果公司开始腾飞:博客和社交媒体本身已经从默默无闻发展到文化的中心位置, 一个新的网络技术时代开始了 。那年年初,世界上很少有人知道什么是"博客",但到 2004 年底,博客不仅变得无处不在,而且正式成为了酷的代名词。尽管现在看起来不太可能,但那一年美国总统竞选中沉闷乏味的候选人,如韦斯利·克拉克、加里·哈特,还有霍华德·迪恩等,在民主党初选期间帮助博客进入了主流视野,与此同时网络评论员们开始以报纸和电视无法跟上的速度对政治、问题和文化时刻进行评论。那些年期间,已经有许多文章讨论了媒体的转变,但关于媒体和技术如何相互改变彼此的文章则较少。
早期博客时代之所以有趣,是因为撰写第一批热门网站的几乎每个人都在忙于帮助创建发布这些网站的工具。就像露西尔·鲍尔和德西·阿那兹必须率先将演播室风格的平面打光与 35 毫米胶片相结合,以定义现代情景喜剧的视觉风格,或者吉米·亨德里克斯不得不与罗杰·梅耶合作发明标志性的吉他失真踏板来定义摇滚乐的声音一样,定义博客技术格式和结构的先驱们通常是一边建造创作工具一边进行创新的。
我有幸见证了这些创作行为的发生。当时我在开发 Movable Type,它是发布"严肃"博客最受欢迎的工具,并帮助推广了这个媒介。我的两位好友构建了这个工具,并迅速将其成为任何想要吸引大量受众的人的首选;它有点像如今人们在 WordPress 和各种电子邮件通讯平台以及"严肃"播客上所做的一切的组合(因为播客要到几个月后才会被发明出来)。但在那些早期的日子里,我们会看着人们用我们的工具一天建立 Gawker 或 Huffington Post,第二天建立 Daring Fireball 或 Waxy.org,每一个都是同类中的第一个,无论是在设计还是在声音方面。直到今天,当我看到 Julianne Escobedo Shepherd 或 Ta-Nehisi Coates 或 Nilay Patel 或 Annalee Newitz 或其他数十位才华横溢的作家或创意人士在线上创作的内容时,我的第一反应常常是,"嘿!他们过去常在我曾经开发的那个应用程序里打字!"因为有时这些作家会启发我们在发布工具中添加新功能,有时他们会在打字撰写新博客文章的间隙自己想出一项新功能。
我们学到的一个非常清晰、非常简单的早期例子是,当我们改变了人们用来在网站上创建帖子的文本框大小时发生的事。我们把文本框稍微加高了一些,主要是出于美学考虑。在随后的几周内,我们发现 Gawker 等网站上的帖子变长了, 主要是因为文本框更大了 。现在看起来这很明显,多年后我们看到推文在 Twitter 从 140 个字符扩展到 280 个字符时变长了,但当时这令人恐惧地揭示了位于加州某间会议室里的几个年轻产品经理每次做出看似微不足道的决定时,会对全世界的媒体消费产生多大的影响力。
另一个不可告人的小秘密是,在那个老旧的博客应用中打字有时候……相当容易出问题。想要做一些正常操作的人,比如在博客文章中插入图片或链接,甚至只是让某些文本加粗,常常不得不学习有些晦涩的 HTML 格式,需要记住用来制作网页的实际编程语言。并非所有人都了解制作网页的所有细节,如果他们犯了哪怕一个小错误,有时就可能破坏整个网站的设计。这让每当作者去发布新的在线内容时都感到压力重重,也阻碍了在社交媒体主导公众讨论的当下、分享想法的日益加快的步伐。
约翰和他的魔法文本文件出场了。

标记和降价
Markdown 的目的非常简单:它让你使用键盘上你已经习惯的普通字符——就像你在输入电子邮件之类的东西时使用的字符一样——来为网页文本进行花哨的格式化。用于制作网页的 HTML 格式是"超文本标记语言"的缩写。其中"标记"这个词是指你用各种特殊字符来"标记"你的文本。只是这些特殊字符有点晦涩难懂。想要添加一个链接到大家最喜欢的网站?好吧,你需要输入 <a href="https://anildash.com/">Anil Dash’s blog</a> 。我可以解释为什么,以及这一切是什么意思,但老实说,你已经明白了——太复杂了!太多了。如果你能够直接写出文本和链接,就像你在电子邮件中可能做的那样,会怎么样呢?比如: [Anil Dash’s blog](https://anildash.com) !然后正确的结果就会出现。听起来很棒,对吧?
同样的方法也适用于在页面上添加标题。例如,正如我现在写这篇文章时,如果我想在这个页面上放一个大标题,我只需输入 #How Markdown Took Over the World 就可以了。
如果标记语言很复杂,那么复杂性的反面一定是……标记向下。这种解决方案看起来如此聪慧,事后看来又显得那么显而易见,这正是 Markdown 成功的关键。John 致力于创建一种格式,使其简单到任何人都能在几分钟内学会,同时又足够强大,能够帮助人们在互联网上写作时表达几乎任何他们想要包含的内容。从技术角度来看,它实现起来也足够简单,John 可以自己编写代码使其与 Movable Type(他选择的发布工具)兼容。(在几天内,人们已经为当时大多数其他博客工具实现了相同的功能;如今,几乎每个可以输入文本的应用程序都在第一天就将 Markdown 支持作为一项功能提供。)
在推出之前,John 征募了我们的共同朋友、已故的、令人深切怀念的 Aaron Swartz 作为校对员。除了对当时博客技术的每个细节都极其精通外,Aaron 最值得一提的是他只有十七岁。虽然 Aaron 的行动主义和英年早逝使他成了某种神话人物,但 Aaron 最伟大的地方之一是他可能是个彻底的麻烦制造者,这使他非常出色地报告软件中的漏洞。(我与 Aaron 最后的几次电子邮件交谈之一就是他指出我当时正在开发的一个开源应用中的一些晦涩漏洞。)毫不奇怪,Aaron 立即理解了 Markdown 的潜力和威力,并成为该技术创建过程中的一流校对员。他的敏锐反馈帮助精心打磨了期末考试产品,使其为世界做好了准备。当 Markdown 在 2004 年 3 月悄然推出时,很明显网络上的文本文件即将获得永久升级。
接下来发生的事情中最令人惊讶的部分不是每个人都立即开始用它来写博客;毕竟,这就是该工具的设计初衷。真正令人惊讶的是,每个人都开始用 Markdown 来做其他一切事情 。
卓有成效
在 Markdown 推出后的几十年里,它在现代计算机行业中的普遍程度几乎无法言表。
在用户的持续催促下超过十年后,Google 终于为 Google Docs 添加了 Markdown 支持 ,尽管他们花了数年时间进行繁琐的改进才使其真正可用。就在去年,Microsoft 为其历史悠久的记事本应用添加了 Markdown 支持,可能是为了安抚那些仍然不敢相信记事本被 AI 功能臃肿化的用户的情绪。从 Slack 到 WhatsApp 再到 Discord,几乎每一个功能强大的群组消息应用都支持消息中的 Markdown。甚至最初间接启发这一切的公司最终也加入其中:最新版本的 Apple Notes 终于添加了 Markdown 支持。(Apple 的这一举动特别引人注目,其时机恰好是在 John 作为全球最具影响力的 Apple 写手利用自己的平台发文谈论 "Apple Intelligence"人工智能推出的彻底失败之后不久。)
但这不仅仅是你在手机或笔记本电脑上使用的应用程序。对于开发者来说,Markdown 长期以来一直是我们用来完成工作的工具集的通用语言。在 GitHub 上——这个几乎世界上每个开发者都用来共享代码的平台——几乎网站上的每个单独代码仓库都至少有一个 Markdown 文件用来描述其内容。许多代码仓库有数十个文件来描述其项目的各个不同方面。而 GitHub 上的一些代码仓库完全由庞大的 Markdown 文件集合组成。我们运行的小型工具和自动化程序用于执行常规任务、我们生成的一次性报告以确保某些内容正确运行、系统出现问题时发出的电子邮件确认、我们在尝试恢复某些旧数据时使用的临时文件——所有这些默认都是 Markdown 文件。
因此,现在世界各地的硬盘上散落着数十亿个 Markdown 文件。云端中还存储着更多的文件。你口袋里的手机上也有一些。程序员们在代码可能运行的任何地方都会留下这些文件。你孩子的 Nintendo Switch 上有 Markdown 文件。如果你在听音乐,插在你耳朵里的耳机的微型系统芯片上可能也有 Markdown 文件。Markdown 就在你体内!
随时准备好
到目前为止,这些都是我们在 John 最初向世界发布他的小文本工具时本可以预见到的事情。我会对多少人在使用它感到惊讶,但对他们使用它的方式并不会感到太惊讶。如果你当时说"未来 20 年,人们使用的所有不同笔记应用都会用 Markdown 保存文件!",我会说"好吧,这很有道理!"
但是我不会问的是"John 有没有赚钱?"尽管这可能很难相信,但回到 2004 年, 默认情况是人们为 Markdown 这样的开放技术创建新标准,然后为了互联网和世界的利益而免费分享它们,然后继续过自己的生活。如果碰巧为他人释放了数十亿美元的价值,那再好不过了。如果他们在这个过程中得到了一些认可,那也很不错。但大多数时候,你只是在为自己和其他志同道合的人解决问题。同时,也许还有助于确保某个混蛋不会创建某个可怕的专有替代品,把所有人都锁在他们糟糕的劣质版本中永远。(我们当时还没有"烂化"这个词,但我们有 Cory Doctorow 和纯文本文件,所以我们多少知道事情会朝哪个方向发展。)
要了解那个时代的氛围,"播客"这个词在 Markdown 发布前一个月才被创造出来,并在那年秋天被广泛使用,它同样是一个激进的开放系统 ,不受任何大公司所有,赋予人们做任何他们想做的事情来表达自己。(播客是 Aaron Swartz 通过成为一个聪慧的讨厌鬼而帮助改进的另一项技术。但我会把那个故事留到另一篇长篇文章中。)
这种不完全反商业、但也许只是根本不太在乎某件事是否具有商业性质的态度,在这个科技大亨不仅是世界上最富有的人,而且也是一些最怪异和最令人厌烦的人的时代,显得直率得令人感到怀旧。但事实是, 如今大多数从事技术工作的人实际上仍然非常正常,而且相当慷慨。只是他们被那些疯狂的老板所掩盖,这些老板在制造火箭、生育数百个孩子、公然拥抱白人至上主义,而不是像普通人一样制作能帮你输入文本的便利工具。

Markdown 模式
关于不仅仅为了金钱而做这些事的部分很重要,因为即使是最先进的 LLM 系统,即大型 AI 公司所称的"前沿"模型,也需要复杂的编排工作,这些编排由那些通过无数次试错轮次为这些系统调整提示词的人精心编写。他们不断迭代、测试并观察结果,因为这些系统会产生幻觉、失败或失控,在此过程中消耗了无数资源。有时,他们也会生成真正令人惊异的输出,令人惊叹于现代技术能够实现的成就。进展和演进的速度,即使考虑到投入这些系统的巨额投资,也只能与个人电脑或互联网的初期发展,或早期太空竞赛相提并论。
而所有这一切—— 所有 ——都是通过 Markdown 文件来控制的。当你看到某人炫耀 ChatGPT 为他们生成的杰出成果,或者某人理所当然地为他们让 Claude 创建的代码感到自豪时,所有这些最先进的工作都是通过 Markdown 提示完成的。尽管 Markdown 的逻辑最初非常简单,即"用人类语言告诉机器做什么",但当他们使用一种本来是为了帮助表达"让这个 **粗体**"的格式来告诉计算机本身时,其含义变得更加严重。
但我们已经知道,这些大型 AI 公司的管理者并不会考虑他们工作的后果。他们永远无法理解,在这些新 AI 平台上,每一个雄心勃勃的项目都是用根据这个系统创建的文件格式写成的——这个系统是由一个从未为此工作索取过一分钱的人创建的。自 Markdown 创建以来,整整一代 AI 编码者已经成长起来,他们可能根本想象不到这项技术甚至有一个"发明者"。它就像月亮或蕾哈娜一样,似乎一直存在。
但重要的是, 每个人都应该知道,互联网和科技产业的运转离不开普通人的慷慨和天才。并非只有数十亿美元的投资和硅谷董事会才能推动创意在数年、数十年或数代人中发展——往往是一个有日常工作的人,只是真心想把事情做好,关注细节,假设如果他足够关心自己的作品,别人也会如此。互联网的大多数技术基础设施就是这样创建的。免费的,通常由学术界的人或作为他们常规工作的一部分创建,而不承诺能获得大笔回报或获得大量荣誉。
真正创造互联网和进行真正创新的人,也不会寻求伤害他们周围的世界或周围的人。有时,就像 Aaron 的例子一样,世界对他们造成的伤害比任何人都应该承受的要多。我承认,并不是所有人都关心互联网上的纯文本文件;我会坦诚地承认,我对这些东西的痴迷程度也许超过了大多数普通人。但我确实认为,每个人都会以这种方式关心互联网上某些精彩内容,我想争取确保每个人都能理解,建设这一切的并不仅仅是五个可怕的大亨。是真实的人做的。好人。我看到他们做到了。
万亿美元的人工智能产业控制其最先进平台的系统,是一个人为了自己的博客随意创造的纯文本格式,然后在与世界免费分享之前,又从一个 17 岁的小孩那里反复推敲。你们欢迎吧,《时代》杂志年度人物, 人工智能的建筑师们 。你们的成就和他们的成就同样令人印象深刻。

Markdown 胜出的十个技术原因
好的,既然我们已经讲述了一些背景,我们能从 Markdown 的成功中学到什么?这个东西是如何真正流行起来的?如果我们想在现代复制类似的东西,我们能做什么?让我们考虑几个关键点:
1. 拥有一个很好的品牌。
好的,让我们实话实说:"Markdown"作为一个名称聪明得不得了。明白了吗——它不是 markup,而是 mark down。你根本无法与这种逻辑相抗争。知道"HTML"中"M"代表什么的人能理解这个参考,对于其他人来说,它就是一个清晰易懂的实用工具名称。
2. 解决了一个真实存在的问题。
这一点不太明显,但至关重要的是,新技术必须解决一个真实的问题,而不仅仅是模糊地尝试做某事,比如"让文本文件更好"。数百万人都遇到过这样的情况:手工编写完整的 HTML 太困难或太不便,即使有必要的技能,也很难以既是纯文本格式又易于阅读的方式来完成。
3. 建立在已有行为的基础上。
这是 Markdown 最具天才之处的地方之一:这种格式是基于人们多年甚至几十年来添加强调和文本格式的方式。其中一些格式选择可以追溯到电子邮件的早期阶段,所以在 Markdown 出现之前的整整一代人的时间里,这些做法已经深深植根于互联网文化之中。这种格式是如此熟悉,人们甚至在不知不觉中就能写出 Markdown。
4. 在起源上镜像了 RSS。
大约在 Markdown 开始流行的同一时期,RSS 也逐渐成熟为无处不在的形式。这种格式已经存在了好几年,支持了各种内容联合方式,但在这个时期,它也开始支持后来被称为播客的技术。就像 RSS 一样,Markdown 也是由一位聪慧的技术专家推动的,他在定义格式方面也相当固执,而这种格式最终改变了我们在互联网上分享内容的方式。RSS 的先驱是 Dave Winer,Markdown 则是 John Gruber,他们都不遗余力地宣扬自己开创的纯文本格式的优点。他们都可以利用博客来宣传,并获取关于如何在他们的成功基础上进一步构建的反馈。
5. 有一个准备好提供帮助的社区。
Markdown 这样的格式之所以成功,绝不仅仅是一个人的功劳。至关重要的是,Markdown 从一开始就是一个能够在其基础上进行构建的社区的一部分。从一开始,Markdown 就受到了早期工作的启发,比如 Textile——一个由 Dean Allen 创建的纯文本格式化系统。我们中的许多人都欣赏并受到了 Dean 的启发,他是社交媒体早期博客工具的先驱,但如果互联网上有比 John Gruber 更大的 Dean Allen 粉丝,我还没有遇到过。类似地,Aaron Swartz 是一位才华横溢的年轻技术专家,最为人所知的是他作为数字权利和信息获取倡导者的身份,而在那个时期他只是一个天才十几岁的少年,我们很多人都喜欢和他一起编程。他是 Markdown 发布前最有价值的校对员,帮助将其打造成一个经久耐用、灵活多变的格式,经历了时间的考验。
6. 为每个不同的上下文提供了合适的风格。
由于 Markdown 的格式被冻结了(并且有一些人们可以争论的超级技术细节),而人们随着时间推移想要添加功能,实施 Markdown 的各个社区可以根据需要添加自己的"风格"。流行的风格后来被称为 Commonmark 和 Github-Flavored,由具有不同工具需求的各种公司或团队主导。虽然技术极客倾向于痴迷于让一切都"正确",但在现实中这通常并不重要 ,在现实世界中,整个互联网都是由几乎不遵循其应该遵循的技术规则的内容组成的。
7. 在行为和习惯改变的时期发布。
这是一个微妙但重要的一点:Markdown 在其媒介演变的恰当时机出现了。当人们使用新工具或采用新技术时,你可以让他们改变行为。在这种情况下,博客(以及所有社交媒体!)都是新兴的,所以说"这是一种输入项目符号列表的新方式"并不会增加太多额外的学习曲线。如果你能趁人们已经处于学习状态时抓住时机,你就能真正利用他们对新事物最开放的那一刻。
8. 恰好出现在"构建工具时代"的前夜。
这个相对来说有点技术性,但也很重要去理解。在网络建设的第一个时代,人们通常手工编写网络的 HTML、JavaScript 和 CSS 语言,或者将这些格式从子集或模板中拼接在一起。但在许多情况下,这些都是相当简单的组合,由用同一种语言编写的较小部分组成。随着技术的成熟,网络开发人员的角色开始专业化(出现了后端开发人员与前端开发人员的区分,或者专注于性能的人与专注于视觉设计的人),因此开发人员的工具也随之成熟。在这一转变的另一方面,开发人员开始使用许多不同的编程语言、框架和工具,在尝试部署网站之前的标准步骤是有一个自动构建流程,将网站的"原始材料"转化为最终产品。由于 Markdown 是必须转化为 HTML 的原始材料,它完美地适应了这一新工作流,并成为了事实上的创建和协作标准方法。
9. 与"查看源代码"兼容
在网络上运作最好的大多数技术都使创建者能够像最初的网络浏览器创建时 HTML 那样"查看源代码"。在这个理念下,人们可以查看组成网页的源代码,并理解它是如何构建的,这样你就可以制作自己的网页。对于 Markdown,只需一眼 Markdown 源文件,任何人都能理解他们可能如何制作类似的文件,或者推断他们可能如何将类似的格式应用到自己的文档中。当人们可以自己看到时,就不需要任何教学了。
10. 不受知识产权限制
这一点如果你想一想就显而易见,但仍然值得说明:Markdown 不存在任何法律限制。你可能不会想到任何人会愚蠢或贪心到试图为 Markdown 这么简单的东西申请专利,但科技行业中有许多更糟糕的专利滥用例子。幸运的是,John Gruber 不是一个坏人,还没有人(迄今为止)厚颜无耻到试图为自己的知识产权法冒险而篡夺这种格式。因此,没有人害怕在他们的应用程序中使用这种格式,或支持创建或读取这种格式。