跳到正文
ZH

学习 · 指南

Markdown ↔ HTML:什么时候该往哪个方向转

博客、邮件、CMS 导入的实用决策指南,外加一套转换后依然稳的语法。

为什么要转

Markdown 是对写作最友好的格式:它是纯文本,能做版本控制,在任何编辑器里都读得懂。HTML 则是网页真正渲染的东西。两者之间的摩擦就是这个工具存在的理由,你用一种写,而目标要的是另一种。

Markdown → HTML

当目标无法渲染 Markdown 时,向前转:

  • 邮件平台 —— 多数 newsletter 工具要的是 HTML(或者只在付费档里接受 Markdown)。用 Markdown 写,转一次,粘贴。
  • CMS 富文本编辑器 —— WordPress、Notion 导出内容和很多后台面板都存储或接受 HTML。
  • 内嵌文档 —— 你想作为渲染好的区块放进某个页面的那段 README 内容。

HTML → Markdown

当你想要一份可携带、可编辑的源文件时,向后转:

  • 迁移博客 —— 把文章从 CMS 里导出成 HTML,再转成 Markdown,用于静态站点重建。
  • 清洗抓取或导出的页面 —— 把杂乱的导出 HTML 变成干净、可做 diff 的纯文本。
  • 归档 —— Markdown 让你的内容几十年都读得懂,不依赖任何平台。

转换后依然稳的语法

双方共用语法时,往返保真度最好:

  • 标题 #、强调 **粗体** / *斜体*、列表、链接、图片和围栏代码块,两个方向都能干净转换。
  • 表格向前转(Markdown → HTML)效果不错,反向转则没那么可靠,取决于 HTML 的结构方式。
  • 行内 style 属性、div 和大量依赖 JavaScript 的 HTML,转成 Markdown 时会严重退化。

一个实用建议

保留一份权威的 Markdown 源,把 HTML 当成构建产物。这样同一份内容就能喂给你的邮件平台、CMS 和静态站点,不必维护三份副本。

五分钟决策指南

  • 目标是邮件平台 → 把 Markdown 转成 HTML,转一次然后粘贴。不要把 Markdown 粘进富文本编辑器,指望它自己渲染。
  • 目标是 CMS 或 wiki → 编辑器存 HTML 就转成 HTML;平台(比如很多静态站点生成器)存 Markdown 就转成 Markdown。
  • 你要离开某个平台 → 导出成 HTML,转成 Markdown,把 .md 文件当作唯一真实来源。
  • 你要内嵌一段片段 → 生成 HTML 片段并内联进去,而不是让页面在运行时去渲染 Markdown。
  • 你要长期保存 → Markdown 胜出。它是纯文本,任何未来的工具都能读。

转换中什么会坏

最稳妥的心智模型是:转换质量是一个连续谱。段落、标题、强调、链接、图片、列表和围栏代码块在两个方向上几乎都能完美往返。表格在 Markdown→HTML 方向表现良好,但 HTML→Markdown 取决于源 HTML 怎么组织行结构。任何依赖布局的东西,比如行内样式、<div> 包裹、对齐、间距,退回 Markdown 时都会丢失或错乱。所以当你规划将来会被转换的内容时,把样式留在主题里,Markdown 里只放语义。这一个习惯就能避免大部分往返折磨。