什么是 Markdown
Markdown 是一种轻量级的标记语言,由 John Gruber 于 2004 年创建。它使用简单的语法格式化文本,可以轻松转换为 HTML、PDF 等格式。
Markdown 示例
# 标题
## 二级标题
这是**粗体**和*斜体*文本。
- 列表项 1
- 列表项 2
- 列表项 3
[链接文本](https://example.com)

```代码块```
HTML vs Markdown
| 特性 | HTML | Markdown | |------|------|----------| | 语法复杂度 | 高(标签嵌套) | 低(纯文本) | | 可读性 | 一般 | 高 | | 编辑速度 | 慢 | 快 | | 功能丰富度 | ✅ 完整 | ⚠️ 基础 | | 适用场景 | 网页 | 文档/博客 |
为什么需要 HTML/Markdown 转换
- 博客平台:WordPress、Hugo、Jekyll 使用 Markdown 写作
- GitHub README:项目文档使用 Markdown
- 邮件内容:HTML 邮件 ↔ Markdown 源文档
- CMS 导入:将 Markdown 文章导入 CMS 系统
- 文档迁移:在不同文档格式间迁移内容
- API 文档:OpenAPI/Swagger 规范支持 Markdown
如何使用在线工具
使用 DevToolkit Pro 的 HTML/Markdown 转换器:
- 粘贴 HTML 或 Markdown 内容
- 工具自动检测格式并转换
- 支持双向转换
- 保持原有格式和结构
- 处理图片、链接、表格等复杂元素
Markdown 常用语法
| 语法 | 说明 | 结果 |
|------|------|------|
| # 标题 | 一级标题 | 大标题 |
| **粗体** | 粗体文本 | 粗体 |
| *斜体* | 斜体文本 | 斜体 |
| `代码` | 行内代码 | 代码 |
| [链接](URL) | 超链接 | 可点击链接 |
|  | 图片 | 显示图片 |
| - 项目 | 无序列表 | • 项目 |
| 1. 项目 | 有序列表 | 1. 项目 |
| > 引用 | 引用块 | 引用样式 |
| --- | 分割线 | — |
代码中的转换
JavaScript
const TurndownService = require('turndown');
const { marked } = require('marked');
// HTML → Markdown
const turndown = new TurndownService();
const markdown = turndown.turndown('<h1>标题</h1><p>内容</p>');
// Markdown → HTML
const html = marked('**粗体** 和 *斜体*');
Python
import markdown
import html2text
# Markdown → HTML
html = markdown.markdown('# 标题\n\n**粗体**内容')
# HTML → Markdown
h = html2text.HTML2Text()
h.ignore_links = False
markdown_text = h.handle('<h1>标题</h1><p>内容</p>')
FAQ
Markdown 有标准吗?
Markdown 有多个变体:CommonMark(最严格的标准)、GitHub Flavored Markdown(GFM,GitHub 扩展)、PHP Markdown Extra 等。不同平台支持的语法可能有差异。
Markdown 支持表格吗?
标准 Markdown 不支持表格,但 GFM 和 CommonMark 扩展支持。语法如下:
| 列1 | 列2 | 列3 |
|-----|-----|-----|
| A | B | C |
HTML 转 Markdown 会丢失样式吗?
会。HTML 的 CSS 样式不会转换为 Markdown。只有结构信息(标题、列表、链接等)会被保留。复杂的 HTML 布局(如浮动、定位)在 Markdown 中无法表示。
本文由 DevToolkit Pro 提供。更多开发者工具请访问 首页。