Skip to content

Markdown 工具链

Markdown 的生态系统非常丰富,有许多工具可以帮助你创建、编辑、转换和管理 Markdown 文档。在本章中,我们将介绍 Markdown 工具链的各个组成部分。

转换工具(Markdown 转 HTML、PDF 等)

命令行工具

Pandoc

Pandoc 是一个功能强大的文档转换工具,支持 Markdown 转换为多种格式。

  • 安装brew install pandoc(macOS)或 choco install pandoc(Windows)
  • 基本用法
    bash
    # Markdown 转 HTML
    pandoc input.md -o output.html
    
    # Markdown 转 PDF
    pandoc input.md -o output.pdf
    
    # Markdown 转 Word
    pandoc input.md -o output.docx

marked

marked 是一个 Node.js 库,用于将 Markdown 转换为 HTML。

  • 安装npm install -g marked
  • 基本用法
    bash
    marked input.md > output.html

markdown-it

markdown-it 是一个功能强大的 Markdown 解析器,支持插件扩展。

  • 安装npm install markdown-it
  • 基本用法
    javascript
    const markdownIt = require('markdown-it');
    const md = markdownIt();
    const result = md.render('# Hello, markdown-it!');
    console.log(result);

在线转换工具

语法检查工具

markdownlint

markdownlint 是一个 Markdown 语法检查工具,可以帮助你保持 Markdown 文档的一致性。

  • 安装npm install -g markdownlint-cli
  • 基本用法
    bash
    markdownlint input.md

textlint

textlint 是一个文本 lint 工具,支持 Markdown 文件的语法检查。

  • 安装npm install -g textlint
  • 基本用法
    bash
    textlint input.md

alex

alex 是一个检查文本中偏见和歧视性语言的工具。

  • 安装npm install -g alex
  • 基本用法
    bash
    alex input.md

自动化工作流

GitHub Actions

可以使用 GitHub Actions 自动化 Markdown 文档的处理:

yaml
# .github/workflows/markdown.yml
name: Markdown Lint

on: [push, pull_request]

jobs:
  lint:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: Markdown Lint
        uses: markdownlint-cli/markdownlint-cli-action@v0.11.0
        with:
          files: .

Git Hooks

可以使用 Git hooks 在提交前检查 Markdown 文档:

bash
# .git/hooks/pre-commit
#!/bin/bash

# 检查 Markdown 语法
markdownlint *.md

# 如果检查失败,阻止提交
if [ $? -ne 0 ]; then
  echo "Markdown 语法检查失败,请修复后再提交"
  exit 1
fi

编辑器集成

许多编辑器都支持 Markdown 语法检查和自动格式化:

  • VS Code:安装 "Markdownlint" 扩展
  • Sublime Text:安装 "MarkdownLint" 插件
  • Atom:安装 "linter-markdown" 插件

集成工具与插件

VS Code 插件

  • Markdown All in One:提供 Markdown 编辑的各种功能
  • Markdown Preview Enhanced:增强的 Markdown 预览功能
  • Markdownlint:Markdown 语法检查
  • Code Spell Checker:拼写检查

Sublime Text 插件

  • MarkdownEditing:Markdown 编辑增强
  • MarkdownPreview:Markdown 预览
  • MarkdownLint:Markdown 语法检查

Atom 插件

  • markdown-preview-plus:增强的 Markdown 预览
  • linter-markdown:Markdown 语法检查
  • autocomplete-paths:路径自动完成

浏览器扩展

  • Markdown Viewer:在浏览器中预览 Markdown 文件
  • Markdown Here:在邮件中使用 Markdown
  • StackEdit:在线 Markdown 编辑器

版本控制工具

Git

Git 是一个分布式版本控制系统,非常适合管理 Markdown 文档:

  • 跟踪变更:记录文档的每一次变更
  • 分支管理:可以在分支上进行实验性编辑
  • 协作:支持多人协作编辑

GitHub

GitHub 是一个基于 Git 的代码托管平台,提供了 Markdown 支持:

  • 在线编辑:可以在浏览器中编辑 Markdown 文件
  • Pull Request:支持代码审查和协作
  • GitHub Pages:可以将 Markdown 文件转换为静态网站

GitLab

GitLab 是一个开源的代码托管平台,也提供了 Markdown 支持:

  • 在线编辑:支持在浏览器中编辑 Markdown 文件
  • Merge Request:支持代码审查和协作
  • GitLab Pages:可以将 Markdown 文件转换为静态网站

内容管理系统

Netlify CMS

Netlify CMS 是一个开源的内容管理系统,支持 Markdown:

  • 可视化编辑:提供可视化的 Markdown 编辑器
  • Git 集成:直接将内容保存到 Git 仓库
  • 预览功能:实时预览 Markdown 渲染效果

Forestry

Forestry 是一个无头内容管理系统,支持 Markdown:

  • 可视化编辑:提供直观的编辑界面
  • Git 集成:与 Git 仓库无缝集成
  • 媒体管理:支持图片和其他媒体文件的管理

Contentful

Contentful 是一个内容管理平台,支持 Markdown:

  • API 驱动:提供 RESTful API 访问内容
  • Markdown 支持:可以使用 Markdown 编辑内容
  • 多环境支持:支持开发、测试和生产环境

小结

Markdown 工具链非常丰富,从转换工具到语法检查工具,从自动化工作流到集成工具与插件,这些工具可以帮助你更高效地创建、编辑和管理 Markdown 文档。

在选择工具时,应该根据自己的需求和使用场景选择合适的工具。例如,如果你需要将 Markdown 转换为多种格式,可以使用 Pandoc;如果你需要在编辑器中获得更好的 Markdown 编辑体验,可以安装相应的编辑器插件。

在接下来的章节中,我们将介绍 Markdown 的实践指南,包括技术文档模板、学术与教育应用等内容。