Markdown ate the world

来源: matduggan.com | 作者: Matt Duggan | 日期: 2026-03

概述

本文深入分析了Markdown是如何从众多文档格式中脱颖而出,成为现代文档标准的历程。从.doc的腐败问题到OOXML的过度复杂,再到Markdown的崛起,这是一段关于技术格式演变的精彩故事。

.doc文件:文件系统在文件中

.doc文件本质上是Compound File Binary Format,实际上就是一个FAT文件系统,包含被分割成sector的文件,通过File Allocation Table链接在一起。

问题: 这些不是原子操作。在电脑经常崩溃的时代,很容易出现部分结构更新而其他部分未更新的情况,导致文件完全损坏。

而且Word不会自我清理。当你在文档中添加图片、跟踪修订和版本历史时,内部结构变得更复杂,文件变大。即使你删除了内容,数据也不会真正被删除,只是被标记为可用空间。

OOXML革命

2007年左右,从.doc转向.docx带来了很多教训。首先,它只是一个bundle,具体是一个ZIP存档。

但实际上,可怕的事情发生了。微软创造了人类历史上最糟糕的XML。

ECMA-376标准的Part 1是一个5039页的PDF。这显然是有意为之——声称是"开放标准",但标准如此复杂,以至于任何其他人都需要付出巨大努力才能实现它。

LibreOffice的博客比较显示:content.xml有6,802行,而document.xml有60,245行——对于一个5,566行的文本文档来说差异巨大。

Markdown的崛起

当"在软件公司工作"从 niche 职业变成几乎每个人都做的事情时,问题的平台转移到了GitHub。这就是许多人首次遇到Markdown并开始定期使用它的地方。

Markdown让你非常快速地生成网页,在地球上的每个浏览器上都能运行,几乎不需要记忆什么,而且在GitHub、Slack、Confluence等地方大多都能正常工作。

为什么Markdown赢了

  • 解决真实问题: 用简单易理解的方式解决了真正的痛点
  • 无需学习HTML: 编写HTML很痛苦,对大多数任务来说过度
  • 普遍兼容: 输出可以在任何浏览器中消费
  • 无结构性故障: Markdown文件不会"损坏"——最坏的情况是你丢失一些字符,但文件的其余部分仍然是好的

关键洞察

大多数写作不是关于这些功能。大多数写作是关于以有意义的结构写下文字,然后把那些文字呈现在其他人面前。Markdown用比任何其他创造都少的摩擦做到这一点。你十分钟就能学会,用任何设备上的任何文本编辑器都能写,不需要渲染就能读取源文件,可以在版本控制中diff,可以转换成几乎任何输出格式。

文件是纯文本。它们将比目前渲染它们的所有应用程序都活得久。它们不属于任何公司。它们不会以任何有意义的方式损坏。

结论

经过多年像照顾 delicate flowers 一样照顾.doc文件,需要像保护的脆弱物一样运输,简单到不可能结构性失败的文件格式不仅仅是方便。这是一种解放。

标签: Markdown, 文档格式, 微软, 历史, 技术演进