Md → Modern PPTX 是一个把 Markdown 转化为现代风格 PPTX 的技能。核心流程是:用 theme-factory 选定主题,用 PptxGenJS 稳定生成 PPTX,再用 markitdown 做内容 QA,可选再做视觉 QA。
快速开始
1)选主题(theme-factory):主题预览位于 ~/.agents/skills/theme-factory/theme-showcase.pdf。可选主题 slug(对应 ~/.agents/skills/theme-factory/themes/*.md):ocean-depths、sunset-boulevard、forest-canopy、modern-minimalist、golden-hour、arctic-frost、desert-rose、tech-innovation、botanical-garden、midnight-galaxy。
2)安装依赖(一次即可),在要生成 PPTX 的项目目录运行:
npm i pptxgenjs python -m pip install "markitdown[pptx]"
3)生成 PPTX,用本技能自带脚本(面向 Deep Research 风格 Markdown):
node .\skills\md-to-modern-pptx\scripts\md-deepresearch-to-pptx.js --in .\YOUR.md --out .\YOUR.pptx --theme golden-hour
若 Markdown 不符合 Deep Research 结构,需先按 references/deepresearch-md-contract.md 整理,再生成。
可选:Gemini 配图
可按默认策略只给 Detailed Analysis 页配图,每小节 1 张、最多 5 张;Title、Executive Summary、Key Findings、Consensus、Debate、Sources 默认不配图。配图提示词由四部分组成:语义(小节标题与关键语境)、视觉风格(modern editorial illustration / flat vector / subtle grain / clean shapes 等)、主题约束(沿用主题色倾向)、硬约束(no text, no logos, no watermarks, no brand marks)。脚本会按这些原则自动生成 plan,也可手动修改。
1)准备 .env:全局推荐放在 ~/.agents/skills/md-to-modern-pptx/.env,或项目级放在 <项目根目录>/.env。内容参考 .env.example:
CHERRY_BASE_URL=https://your-gateway.example.com CHERRY_API_KEY=your_key_here CHERRY_MODEL=gemini-3-pro-image-preview
脚本优先读取 CHERRY_* 并兼容旧的 GEMINI_* 命名;默认走 POST /v1beta/models/<model>:generateContent(responseModalities=["IMAGE"]),若网关不支持 Gemini 原生路径则回退到 OpenAI-like 的 POST /v1/images/generations(部分中转站使用 task_id 轮询)。
2)生成配图计划:
python .\skills\md-to-modern-pptx\scripts\gemini_image_pack.py make-plan --in .\YOUR.md --theme golden-hour --out .\images.plan.json
默认给分析页(从第 5 页开始)生成最多 5 张图的提示词。
3)调用 Gemini 生成图片:
python .\skills\md-to-modern-pptx\scripts\gemini_image_pack.py generate --plan .\images.plan.json --out-dir .\images
输出命名默认 images/slide-05.png、images/slide-06.png 等,与 deck 页码对齐。若报“无可用渠道(distributor)”/model_not_found 或“not supported model for image generation”,通常意味着中转站账号或分组未开通该模型的 IMAGE 输出能力,需在中转站侧开通、切换分组或换可用模型。
4)重新生成 PPTX 并自动贴图:
node .\skills\md-to-modern-pptx\scripts\md-deepresearch-to-pptx.js --in .\YOUR.md --out .\YOUR.pptx --theme golden-hour --images-dir .\images
临时不想贴图可加 --no-images。
QA(必做)
内容 QA:
python -m markitdown .\YOUR.pptx python -m markitdown .\YOUR.pptx | Select-String -Pattern "xxxx|lorem|ipsum|this.*(page|slide).*layout" -CaseSensitive:$false
重点检查:是否漏段落或顺序错、是否残留 Markdown 标记(如 ** 与反引号)、是否有占位符文本。
视觉 QA(可选但推荐):若本机有 LibreOffice(soffice)与 Poppler(pdftoppm),可用 pptx 技能的 thumbnail.py 生成缩略图网格,快速发现溢出、遮挡、边距过小等问题:
python "$HOME.agents\skills\pptx\scripts\thumbnail.py" .\YOUR.pptx deck-thumbs --cols 4
常见问题
PptxGenJS 颜色不要带 #,也不要用 8 位 hex 夹带透明度(会损坏文件);列表用 bullet: true,别直接写“•”;不要复用同一个 options 对象(PptxGenJS 会原地 mutate)。更完整的 PPTX 工程化注意事项见 pptx 技能的 pptxgenjs.md。
限制
该工具面向 Deep Research 风格 Markdown,其他结构需先整理;Gemini 配图依赖外部网关账号开通对应模型能力;视觉 QA 依赖本机安装 LibreOffice 与 Poppler;未提供正式收费、平台支持范围等信息。