Pandoc 可控文档转换
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_cea1fb81/pandoc-convert-pro。
技能介绍
要解决什么问题
直接用 pandoc 命令做 Markdown、DOCX、HTML、EPUB、PDF 互转时,常见问题包括:缺依赖却静默失败、批量目录时路径和资源丢失、引用与模板未就绪就长跑转换、以及 PDF 引擎(尤其中文)选错导致乱码。本技能把转换流程拆成可预期、可校验、可排错的几条路径,而不是替你在背后乱装软件。
技能如何工作
路由决策:单文件走 scripts/convert.sh;目录、多文件或 glob(含「批量 / batch」)走 scripts/batch_convert.py;转换前检查引用、模板、CSS、资源或 PDF 需求时用 scripts/validate.sh;只有用户明确要求装 Pandoc 时才用 scripts/install_pandoc.sh(且先 dry-run,需显式同意才执行)。
单文件流程:确认输入存在、推断输出格式;无输出路径时建议与输入同目录的默认名(如 README.md → README.docx);在技能目录执行封装脚本,成功则回报生成路径,失败则给出可操作的错误与最小修复建议。
批量流程:保留相对路径(如 docs/a/b.md → out/a/b.pdf);跳过隐藏目录及 .git、node_modules 等;支持重试、进度输出与 Markdown/JSON 报告;默认遇错继续,不可在部分失败时宣称整批成功。
常用能力:格式覆盖(--from / --to)、独立文档与目录(-s、--toc)、引用(--citeproc)、DOCX 样式(--reference-doc)、模板与 CSS、资源路径(--resource-path)、从 DOCX 抽图(--extract-media)。PDF 需说明引擎;中文文档优先 --pdf-engine xelatex。
适用边界与注意点
- 转换过程中不会静默安装 Pandoc;缺失时报告校验错误并询问是否需要安装帮助。
- 安装脚本不装 PDF 引擎;LaTeX/xelatex 需单独处理。
- 建议以带 YAML frontmatter 的 Markdown 为源,DOCX/PDF/EPUB 视为生成物;大批量前先小样本试跑。
- 格式映射与配方见技能内
references/formats.md、workflows.md;失败排查见troubleshooting.md。
使用场景
- 仓库里有一篇 `README.md`,需要生成同目录下的 Word 稿给同事批注,用单文件封装脚本完成转换。
- `docs/` 下几十篇 Markdown 要按原相对路径批量导出为 PDF,并跳过 `node_modules` 与输出目录。
- 长文档带 `refs.bib` 和 CSL,正式转换前先跑校验脚本,确认引用、模板与资源路径就绪。
- 合作方发来 DOCX,要转成 Markdown 且保留内嵌图片,转换时需加 `--extract-media` 并配置 `resource-path`。
适合人员
- 维护开源文档仓库的维护者,需要把 Markdown 源稿稳定导出为 DOCX、EPUB 或带目录的 PDF。
- 技术写作或编辑,收到 Word 稿要纳入 Git 流程,需可重复的 DOCX→Markdown 且图片不丢。
- 发布或文档工程师,每次发版要把某一目录下多份说明文件批量转格式并拿到失败清单与重试命令。
- 写中文长报告要 Markdown→PDF,需要明确使用 xelatex 引擎并在转换前确认 PDF 依赖是否齐全。