Markdown 是一种轻量级的 标记语言,由 John Gruber 和 Aaron Swartz 于 2004 年创建,旨在以纯文本格式编写内容,并轻松转换为结构化的 HTML 或其他富文本格式。它的核心设计理念是 易读易写,适合撰写文档、笔记、博客、README 文件等。

核心特点

  1. 纯文本格式
    文件以 .md​ 或 .markdown​ 为扩展名,兼容任何文本编辑器(如 VS Code、Notepad++ 等)。
  2. 语法简洁
    通过简单的符号(如 #​、*​、>​ 等)实现标题、列表、链接等排版,无需复杂代码。
  3. 跨平台支持
    几乎所有代码托管平台(GitHub、GitLab)、笔记工具(Notion、Obsidian)、博客系统(WordPress)都支持 Markdown。

使用场景

  1. 开发文档:GitHub 的 README.md​。
  2. 笔记工具:Typora、Obsidian、Notion。
  3. 静态网站:配合静态生成器(如 Hugo、Hexo)。
  4. 邮件/论坛:部分平台支持 Markdown 排版。

Markdown与富文本的区别

Markdown 和富文本(Rich Text)是两种常见的文本格式,它们在用途、语法、功能和应用场景上有显著区别。以下是它们的核心差异:

1. 本质与设计理念

  • Markdown

    • 纯文本格式:用简单的符号(如 #​、*​)标记结构,需通过解析器转换为可视化样式(如 HTML)。
    • 轻量级:专注于内容而非样式,适合快速写作和代码协作。
    • 可读性强:原始文件人类可读,无需专用编辑器。
  • 富文本(Rich Text)

    • 所见即所得(WYSIWYG) :直接通过编辑器界面(如 Word、Google Docs)设置样式(字体、颜色等)。
    • 二进制或复杂格式:可能隐藏样式代码(如 HTML、RTF),原始文件不易直接阅读。
    • 交互式编辑:依赖图形界面操作(如按钮、菜单)。

2. 语法 vs. 可视化操作

对比项Markdown富文本
标题# 标题点击工具栏的“标题”下拉菜单
粗体**文本**​ 或 __文本__选中文本后点击“加粗”按钮
列表- 项目​ 或 1. 项目点击“项目符号”或“编号列表”按钮
链接[文字](URL)点击“插入链接”按钮并填写对话框
图片![描述](URL)点击“插入图片”按钮上传文件
表格用 \`​-\` 手动编写

3. 功能对比

功能Markdown富文本
样式控制有限(依赖解析器支持)精细(字体、颜色、间距等)
兼容性跨平台(需解析器支持)依赖编辑器(如 Word 的 .docx)
版本控制友好(纯文本差异可追踪)困难(二进制文件难比较)
扩展性通过插件支持图表、公式等原生支持复杂对象(如图表、批注)
学习成本需记忆语法零语法(图形化操作)

4. 典型应用场景

  • Markdown

    • 程序员文档(如 GitHub README、API 文档)
    • 静态网站生成(如 Hugo、Jekyll)
    • 笔记软件(如 Typora、Obsidian)
    • 需要版本控制的协作场景(如 Git)
  • 富文本

    • 正式文档(如论文、商业报告)
    • 邮件撰写(如 Outlook、Gmail)
    • 可视化内容创作(如微信公众号排版)

5. 优缺点总结

角度Markdown富文本
优点轻量、可读性强、版本控制友好直观、样式丰富、无需学习语法
缺点复杂样式支持有限文件体积大、兼容性问题多

6. 如何选择?

  • 选 Markdown
    需要高效写作、代码协作、版本控制,或追求内容与样式分离。
  • 选富文本
    需要精细排版、非技术用户使用,或处理包含多媒体/复杂格式的文档。
  • 混合方案

    一些工具(如 Notion、Typora)结合了两者的优势:支持 Markdown 语法输入,同时提供实时预览和可视化编辑。适合既需要快速标记又需要灵活排版的场景。