2004年,博主John Gruber和程序员Aaron Swartz发布了一个小型Perl脚本和一份语法规范,基于一个简单的前提:纯文本应该在不被标签杂乱的情况下原样可读,同时仍能干净地转换为HTML。他们将其命名为Markdown。
二十年后,Markdown成为软件文档、开发者沟通、笔记应用和大量网络内容的默认写作格式。
哲学:可读的源文本
Gruber的设计目标很明确:"Markdown格式的文档应该能以纯文本原样发布,看起来不像被标签或格式指令标记过。"
**粗体**比<strong>粗体</strong>更直观地传达强调## 标题一眼就能扫描- 项目不渲染也像项目符号
值得了解 Markdown的联合创作者Aaron Swartz在开发RSS、知识共享和Reddit方面也发挥了重要作用。
开发者为什么喜爱它
- 纯文本 = 版本控制友好。 Git可以逐行diff。
- 无厂商锁定。 在任何文本编辑器、任何操作系统上都能打开。
- 轻量。 以千字节计量。
- 转换为任何格式。 Pandoc可将Markdown转为HTML、PDF、EPUB、LaTeX、Word等数十种格式。
Markdown今天在哪里使用
| 领域 | 使用Markdown的平台 |
|---|---|
| 代码托管 | GitHub、GitLab、Bitbucket |
| 通讯 | Slack、Discord、Reddit、Teams |
| 笔记 | Obsidian、Notion、Bear、Typora |
| 文档 | Docusaurus、MkDocs、Read the Docs |
| 博客/CMS | Jekyll、Hugo、Astro、Ghost |
碎片化问题
Gruber的原始规范是刻意非正式和不完整的。这种模糊性导致了碎片化,催生了CommonMark(2014)、GitHub Flavored Markdown(GFM)、MDX、MultiMarkdown和R Markdown等标准化尝试。
核心语法(标题、粗体、斜体、列表、链接、图片、代码)在任何地方都一样工作。差异在于扩展功能和边缘情况。
局限性和替代方案
Markdown不是适用于所有工作的工具。当需要复杂布局、丰富样式和语义丰富性时,AsciiDoc、reStructuredText、LaTeX或富文本编辑器是更好的选择。
进一步了解
要通过实时预览练习Markdown,请试试Markdown预览器工具。有关语法的动手入门,请参阅用Markdown写作教程。两者都免费且在浏览器中直接运行。
