HTML 转 Markdown

概述

HTML 转 Markdown 工具基于 Turndown.js 将 HTML 内容转换为 Markdown 格式,支持粘贴代码或上传 .html/.htm 文件(最大 10MB),提供十项格式选项,转换结果实时更新,可一键复制或下载为 converted.md 文件。

格式选项详解

工具的"转换选项"面板包含以下可配置项,默认值适合大多数场景:

  • 标题样式:setext(用 ===/--- 下划线,仅 H1/H2)或 atx(用 # 前缀,兼容性更好)
  • 代码块样式:indented(四空格缩进)或 fenced(代码围栏,支持语法高亮标注)
  • 代码围栏符号```~~~
  • 斜体分隔符_*
  • 粗体分隔符**__
  • 链接样式:inlined([文本](URL))或 referenced(将 URL 集中到文末)
  • 链接引用样式:full、collapsed 或 shortcut(仅在链接样式为 referenced 时生效)
  • 无序列表标记*-+
  • 水平分隔线:自定义字符串,默认为 * * *
  • 预格式化代码:勾选后保留 <pre> 标签内的原始格式

边界情况处理

转换质量较好的内容

  • 标准段落、H1–H6 标题
  • 有序和无序列表(包括嵌套)
  • 代码块(<code><pre>
  • 行内链接和图片引用
  • 块引用(<blockquote>

可能需要手动调整的内容

  • 复杂表格(合并单元格不支持)
  • 多层嵌套列表(缩进可能偏移)
  • 嵌入式图片(转为 ![alt](src) 但路径依赖原始域名)
  • <div> 内的行内样式(CSS 信息会全部丢失)

上传文件 vs 粘贴代码

上传 .html 文件时,工具会读取文件全文并填入输入框,转换结果与直接粘贴相同。文件中的 <script> 标签内容、<style> 样式声明以及 HTML5 特有元素(如 <video><canvas><form>)在转换时会被忽略或剥离,仅保留可对应到 Markdown 语法的文本结构。