如何将 Markdown 转换为 HTML:完整指南
如何将 Markdown 转换为 HTML
Markdown 是为书写而设计的,但 Web 运行在 HTML 之上。每一份 Markdown 文档都需要转换为 HTML 后,浏览器才能显示。本指南涵盖了将 Markdown 转换为 HTML 的主要方法。
方法一:命令行工具
Pandoc
Pandoc 是支持数十种格式的通用文档转换器。
# Basic conversion
pandoc input.md -o output.html
# Standalone HTML with <html> and <body> tags
pandoc input.md -o output.html -s
# With table of contents
pandoc input.md -o output.html -s --toc
Python-Markdown
pip install markdown
python -m markdown input.md > output.html
import markdown
with open("input.md", "r") as f:
text = f.read()
html = markdown.markdown(text, extensions=["fenced_code", "tables"])
CommonMark(JavaScript)
npm install commonmark
const commonmark = require("commonmark");
const reader = new commonmark.Parser();
const writer = new commonmark.HtmlRenderer();
const parsed = reader.parse("# Hello\nThis is **bold**.");
const html = writer.render(parsed);
方法二:静态站点生成器
Jekyll
Jekyll 为 GitHub Pages 提供支持。它将 _posts 或集合中的 Markdown 文件转换为 HTML。
gem install jekyll bundler
jekyll new my-site
jekyll build
jekyll serve
使用 Kramdown 处理器配合 Liquid 模板来处理动态内容。
Hugo
Hugo 是一款基于 Go 的静态站点生成器,以毫秒级的构建速度著称。
hugo new site my-site
hugo new posts/my-first-post.md
hugo server -D
默认使用 Goldmark 作为其 Markdown 渲染器,支持表格、围栏代码块和脚注。
Next.js(MDX)
Next.js 支持 MDX,可以在 Markdown 中嵌入 React 组件。
npm install next @next/mdx @mdx-js/loader
MDX 让你可以在文档中包含实时代码示例、图表和表单。
方法三:在线转换器
对于无需安装工具的一次性转换,基于浏览器的转换器可以即时提供结果:
- 将 Markdown 粘贴或输入到编辑器面板中。
- HTML 输出会实时显示。
- 复制生成的 HTML,用于任何网页或 CMS。
Markdown 预览工具完全在浏览器中处理 GitHub 风格 Markdown——表格、代码块、任务列表和删除线。
方法四:编辑器插件
| 编辑器 | 功能 | 命令 |
|--------|---------|---------|
| VS Code | 内置预览 | Ctrl+Shift+V |
| Sublime Text | MarkdownPreview | Alt+M |
| IntelliJ IDEA | 内置支持 | Quick Documentation |
| Vim | vim-markdown | :MarkdownPreview |
处理流程
当静态站点生成器将 Markdown 转换为 HTML 时,它遵循以下流程:
Markdown → Parse to AST → Apply extensions → Render to HTML → Apply template → Output page
如果某个功能未能按预期渲染,问题通常出在解析器(它不支持该语法)或渲染器(它输出了意外的 HTML)上。
在线将 Markdown 转换为 HTML
使用 Markdown 预览工具即可即时将 Markdown 转换为 HTML。在编辑器中输入或粘贴 Markdown,渲染预览会实时更新。