为什么网页浏览器不支持 Markdown
本文探讨了网页浏览器不支持直接渲染 Markdown 的原因,包括历史遗留问题、HTML 作为 Web 标准语言的牢固地位,以及 Markdown 本身缺乏统一规范等因素。作者指出,尽管 Markdown 在开发者社区中广受欢迎,但与 HTML 相比,它在安全性、可扩展性和标准化方面仍有不足,因此浏览器厂商缺乏将其原生支持的动力。
背景速读
- Markdown 是一种轻量级标记语言,由 John Gruber 于 2004 年设计,旨在让人们用纯文本格式书写,再转换为 HTML。它广泛应用于 GitHub、Reddit、Obsidian 等平台和工具中。
- 然而,网页浏览器(如 Chrome、Firefox、Safari)原生并不支持直接渲染 Markdown,原因在于浏览器只理解 HTML、CSS 和 JavaScript 三种核心 Web 技术——Markdown 不属于其中任何一种。
- 文章核心逻辑是:浏览器是 HTML 的渲染引擎,而 Markdown 是编写 HTML 的快捷语法。要让浏览器能渲染 Markdown,需要将其运行时转换为 HTML(即引入一个 Markdown 解析器),这会增加页面体积和转换开销,且破坏“浏览器只呈现原始 HTML”的基本原则。
- 与此相关的一个历史背景是 1990 年代浏览器大战中 HTML 胜出、SGML 被边缘化,以及后来 Web 标准(WHATWG、W3C)的演进——Markdown 从未被这些标准组织考虑为浏览器原生支持的格式。