关于 md-to-pptx
md-to-pptx 是一款技能和 Python 工具,可将 Markdown 转为 PowerPoint,也可借助 AI 生成内容。它提供内置及自定义模板、命令行选项和 Python API。
主要功能
- 01将 Markdown 标题转换为幻灯片
- 02支持四种内置主题
- 03支持自定义 PowerPoint 模板
- 04报告生成进度和警告
- 05提供命令行与 Python 接口
适用场景
- 01将现有 Markdown 文档转为幻灯片
- 02根据生成的内容制作主题演示文稿
- 03使用自定义模板保存演示文稿
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ echoleesong/ claude-skills-plugin --skill md-to-pptx安装后在 Claude Code 中输入/md-to-pptx确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
assets/templates/business_template.pptxeducation_template.pptxtech_dark_template.pptx蓝黄色新拟态行业调研报告PPT模板.pptxreferences/markdown-format.mdscripts/generate_templates.pymd_parser.pymd_to_pptx.pypptx_generator.py详细介绍
md-to-pptx
将 Markdown 转换为 PowerPoint,或借助 AI 生成演示文稿。
依赖项
使用前请安装所需软件包:
pip install python-pptx Pillow
注意:在 Python 3 不是默认版本的系统上,请使用 python3 而不是 python。
工作流
步骤 1:收集需求
重要:生成任何内容之前,您必须使用 AskUserQuestion 工具向用户询问以下问题:
-
PPT页数(幻灯片数量):您希望PPT包含多少页?
- 选项:5-10页, 10-15页, 15-20页, 20页以上
-
面向用户群体(目标受众):这个PPT的目标受众是谁?
- 选项:企业高管/决策者, 技术团队/开发者, 学生/教育场景, 普通大众/客户
-
PPT演示场景(演示情境):这个PPT将在什么场景下使用?
- 选项:商务汇报/会议, 产品发布/路演, 培训/教学, 学术报告/研究分享
-
PPT模板选择(模板选择):是否使用已有的PPT模板?
- 选项:
- business(商务风格 - 白色背景,深蓝标题)
- tech_dark(科技风格 - 深色背景,绿色点缀)
- education(教育风格 - 暖色背景,橙色点缀)
- neumorphism(新拟态风格 - 蓝黄色现代风格)
- 不使用模板/自定义
- 选项:
还需询问:
- 来源:您有现成的 Markdown 文件,还是需要我生成内容?
- 保存位置:PPT 保存在哪里?(默认:用户当前工作目录)
根据回答指导内容生成:
- 幻灯片数量:决定内容的深度和详细程度
- 目标受众:影响语言复杂度、术语和示例
- 演示情境:影响语气、结构和视觉风格
- 模板:设定演示文稿的视觉主题
步骤 2:确定方案
如果转换现有 Markdown:
- 读取 Markdown 文件
- 将内容解析为幻灯片(H1/H2 标题会创建新幻灯片)
- 使用合适的版式生成 PPTX
如果生成新内容:
- 根据用户主题创建大纲
- 提交大纲供用户审核
- 生成完整的 Markdown 内容
- 转换为 PPTX
步骤 3:生成演示文稿
运行转换脚本:
python scripts/md_to_pptx.py input.md -o output.pptx --theme business
命令行选项
python scripts/md_to_pptx.py <input.md> [options]
Options:
-o, --output Output filename (default: input name + .pptx)
-d, --directory Output directory (default: user's current directory)
-t, --theme Theme: business, tech_dark, education, neumorphism
--template Path to custom .pptx template
--no-template Generate without using built-in template
-q, --quiet Suppress progress output
--list-themes Show available themes
--list-templates Show template locations
示例
# Save to current directory (default)
python scripts/md_to_pptx.py presentation.md
# Specify output filename
python scripts/md_to_pptx.py presentation.md -o slides.pptx
# Save to Desktop
python scripts/md_to_pptx.py presentation.md -d ~/Desktop
# Use tech dark theme
python scripts/md_to_pptx.py presentation.md --theme tech_dark
# Use neumorphism theme
python scripts/md_to_pptx.py presentation.md --theme neumorphism
# Use custom template
python scripts/md_to_pptx.py presentation.md --template company.pptx
# Show available themes
python scripts/md_to_pptx.py --list-themes
# Show template locations
python scripts/md_to_pptx.py --list-templates
内置模板
assets/templates/ 中包含四个预制模板:
| 模板 | 文件 | 描述 |
|---|---|---|
| business | business_template.pptx | 白色背景、深蓝标题、专业风格 |
| tech_dark | tech_dark_template.pptx | 深灰色背景、绿色点缀、适合开发者 |
| education | education_template.pptx | 暖米色背景、橙色点缀、亲和易懂 |
| neumorphism | 蓝黄色新拟态行业调研报告PPT模板.pptx | 蓝黄色新拟态风格,现代研究报告 |
自定义模板
将自定义 .pptx 模板放入 assets/templates/,或使用 --template 指定路径:
# Use template from assets/templates/
python scripts/md_to_pptx.py input.md --template assets/templates/my_company.pptx
# Use template from any location
python scripts/md_to_pptx.py input.md --template /path/to/custom.pptx
重新生成内置模板:
python scripts/generate_templates.py -o assets/templates
Markdown 格式
主要规则:# H1 创建标题幻灯片,## H2 创建内容幻灯片,### H3+ 保留在当前幻灯片中。
有关详细格式参考,包括支持的元素、图像处理和版式选择,请参阅 references/markdown-format.md。
错误处理
生成器采用容错模式:
- 跳过不支持的元素并发出警告
- 缺失的图像会显示占位文本
- 格式错误的表格会回退为文本
- 收集所有警告,并在最后报告
进度反馈
脚本会报告每张幻灯片的处理进度:
📄 Reading: presentation.md
📊 Parsed 6 slides
📋 Using built-in template: tech_dark_template.pptx
[████████░░░░░░░░░░░░░░░░░░░░░░] 3/6 - Generating slide 3: Introduction...
✅ Created: /path/to/output.pptx
Python API
from scripts.md_to_pptx import convert_md_to_pptx, generate_from_content
# Convert file
success, output_path, warnings = convert_md_to_pptx(
"presentation.md",
output_path="slides.pptx",
theme="business"
)
# Generate from content string
success, warnings = generate_from_content(
"# My Title\n\n## Slide 1\nContent here",
"output.pptx",
theme="tech_dark"
)
典型交互流程
- 用户:“帮我创建一份关于 X 的演示文稿”
- 询问:主题偏好?保存位置?
- 生成大纲并提交审核
- 用户批准或提出修改要求
- 生成完整的 Markdown 内容
- 使用选定的选项运行转换脚本
- 报告:已创建 X 张幻灯片,保存至 Y,以及任何警告
评论
支持 Markdown