HTML理论上当然可以直接写,Markdown 最后也得转成 HTML 才能在网页上显示。但真的用 HTML 写过两千字长文的人都知道那种痛苦,每个段落包一对 p /p,插个链接写一长串 a href="https://...",加个标题还得纠结用 h2 还是 h3,漏掉一个闭合标签整个页面就乱套。HTML 是设计给浏览器解析的,不是给人读的,更不是给人写的。
John Gruber发明 Markdown 的动机就在这里,他2002年开始写博客 Daring Fireball,主要聊苹果和技术,天天产出长文,他是会写 HTML 的人,技术上完全没障碍,但他后来说过一句大意是,写久了真的烦,满屏幕尖括号让我没法专心校对自己写的东西,总觉得是在给自己制造额外的工作量,于是2004年他拉上 Aaron Swartz,两个人搞出了 Markdown,用#表示标题,**表示加粗,-表示列表,就这么几条规则,五分钟学完。
有时候在知乎写东西的时候,不知道你们有没有这样的经历,两个字之间有时候死活插不进光标,选中一段文字按删除键偶尔毫无反应,粘贴进来的内容格式乱成一团。这不是知乎的工程师水平差,是这条技术路线本身就有结构性缺陷。字节的飞书、腾讯文档、Notion,全世界做富文本编辑器的团队都在填同一个无底洞,Medium的编辑器开发者专门写过一篇文章叫《Why ContentEditable is Terrible》,标题已经说明一切。