Chapter 09 / 10

Markdown 工具链

VS Code 扩展、Pandoc 转换、MkDocs、Docusaurus 与 Obsidian

VS Code — 开发者首选编辑器

内置功能

推荐扩展

扩展功能
Markdown All in One自动补全、格式化、目录生成、快捷键
Markdown Preview Enhanced增强预览、Mermaid、数学公式、导出 PDF
markdownlint实时语法检查,提示不规范写法
Paste Image粘贴图片自动保存并插入 Markdown 语法
Foam双向链接知识库,类 Obsidian 体验

常用快捷键(Markdown All in One)

快捷键功能
Ctrl+B / ⌘B加粗选中文字
Ctrl+I / ⌘I斜体选中文字
Alt+Shift+F格式化 Markdown(含表格对齐)
Ctrl+Shift+[ / ]增加/减少标题级别

Pandoc — Markdown 转换神器

Pandoc 是通用文档转换工具,可以将 Markdown 转换为几乎任何格式:

# 安装
brew install pandoc        # macOS
apt install pandoc         # Ubuntu
winget install pandoc      # Windows

# Markdown → HTML
pandoc README.md -o README.html

# Markdown → PDF(需要 LaTeX 环境)
pandoc README.md -o README.pdf

# Markdown → Word
pandoc README.md -o README.docx

# Markdown → 幻灯片(Reveal.js)
pandoc slides.md -t revealjs -s -o slides.html

# 批量转换
for f in docs/*.md; do pandoc "$f" -o "out/${f%.md}.html"; done
TIPPandoc 支持 YAML front matter 设置元数据(标题、作者、日期等),在转换 PDF 和 Word 时会自动应用到文档属性中。

MkDocs — Python 文档站

MkDocs 将一组 Markdown 文件构建成静态文档网站:

# 安装
pip install mkdocs mkdocs-material

# 创建项目
mkdocs new my-project
cd my-project

# 本地预览(热重载)
mkdocs serve

# 构建静态网站
mkdocs build

# 部署到 GitHub Pages
mkdocs gh-deploy

mkdocs.yml 配置示例

site_name: 我的文档
site_url: https://example.com
theme:
  name: material
  language: zh
  palette:
    primary: indigo

nav:
  - 首页: index.md
  - 安装指南: install.md
  - API 参考:
      - 概述: api/overview.md
      - 端点: api/endpoints.md

Docusaurus — React 文档站

Facebook 开源的文档框架,适合大型项目文档:

# 创建项目
npx create-docusaurus@latest my-docs classic

# 启动开发服务器
cd my-docs
npm start

# 构建
npm run build

特色功能

Obsidian — 个人知识库

基于 Markdown 的本地知识管理工具,支持双向链接:

核心特性

Obsidian 特有语法

# 双向链接
[[笔记名称]]
[[笔记名称|显示文字]]
[[笔记名称#章节]]

# 嵌入其他笔记
![[其他笔记名称]]

# 标签
#工作 #项目/后端

# Callout(告警块)
> [!note] 标题
> 内容

Typora — 所见即所得编辑器

输入 Markdown 语法后立即渲染,无需分屏预览,对写作者非常友好:

markdown-link-check — 链接有效性检查

# 安装
npm install -g markdown-link-check

# 检查单个文件
markdown-link-check README.md

# 在 GitHub Actions 中自动检查
name: Check Links
on: [push, pull_request]
jobs:
  check-links:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: gaurav-nelson/github-action-markdown-link-check@v1

小结