用途
markdown-to-pdf 是一个文档处理技能,用于将 Markdown 文件转换为高质量 PDF 文档,并支持代码块语法高亮和自定义 CSS。它适合需要把 Markdown 说明文档、代码文档等输出为 PDF 的场景。
主要能力
- 语法高亮:代码块通过 highlight.js 渲染,可使用 --no-highlight 关闭。
- 自定义 CSS:可通过 --css 指定样式文件覆盖默认样式。
- 跨平台:可在 Windows、macOS、Linux 上运行。
- 系统 Chrome:检测到已安装的 Chrome/Chromium 时使用系统版本。
- Frontmatter 支持:提取 YAML frontmatter 用作标题和元数据。
安装要求
该技能需要 npm 依赖,安装方式有两种:
方式一:通过 ClaudeKit CLI 安装(推荐)
ck init # 运行 install.sh,处理所有技能
方式二:手动安装
cd .claude/skills/markdown-to-pdf npm install
依赖项为 md-to-pdf 与 gray-matter。首次运行可能下载 Chromium(约 150MB),除非检测到系统 Chrome。
此外,技能描述中提到需要 pandoc 加一个 PDF 引擎(wkhtmltopdf 或 weasyprint)可用。
使用方式
基本转换:
node .claude/skills/markdown-to-pdf/scripts/convert.cjs --input ./README.md
指定输出路径:
node .claude/skills/markdown-to-pdf/scripts/convert.cjs --input ./doc.md --output ./output.pdf
使用自定义 CSS:
node .claude/skills/markdown-to-pdf/scripts/convert.cjs --input ./doc.md --css ./my-style.css
命令行选项:
- --input 或 -i:输入 Markdown 文件路径(必填)
- --output 或 -o:输出 PDF 文件路径,默认 {input}.pdf
- --css 或 -c:自定义 CSS 文件路径,默认使用内置样式
- --no-highlight:关闭语法高亮,默认 false
- --help 或 -h:显示帮助信息
默认样式
默认 PDF 样式包括:正文使用衬线字体(Georgia),代码使用等宽字体(Consolas/Monaco),2cm 页边距,代码块背景高亮,表格边框与交替行颜色。
输出与验证
转换成功后返回 JSON,例如:
{ "success": true, "input": "/path/to/input.md", "output": "/path/to/output.pdf", "pages": 3 }
技能建议的工作流为:安装所需工具、执行转换(含语法高亮与可选 CSS)、检查 PDF 输出的格式与完整性。
适用场景
适用于需要把 Markdown 文件转换为带代码高亮和自定义样式的 PDF 文档的场景,可以脚本化或批量调用。
限制与注意事项
- 需要 pandoc 加 PDF 引擎(wkhtmltopdf 或 weasyprint)作为前提。
- 首次运行可能下载 Chromium(约 150MB),可通过 PUPPETEER_SKIP_DOWNLOAD=1 阻止下载。
- 大文档可能遇到内存问题,建议拆分为多个文件。
- 字体问题可通过 CSS @font-face 嵌入 base64 编码字体以保证渲染一致。
- 资料中未提供具体定价、兼容 Markdown 语法范围、最大文件体积限制等信息,暂未提供。