mcpField
M
md-to-pptx

md-to-pptx

github.com/echoleesong文档处理459 次安装21 周前更新
代码仓库

关于 md-to-pptx

md-to-pptx 是一款技能和 Python 工具,可将 Markdown 转为 PowerPoint,也可借助 AI 生成内容。它提供内置及自定义模板、命令行选项和 Python API。

主要功能

  1. 01将 Markdown 标题转换为幻灯片
  2. 02支持四种内置主题
  3. 03支持自定义 PowerPoint 模板
  4. 04报告生成进度和警告
  5. 05提供命令行与 Python 接口

适用场景

  1. 01将现有 Markdown 文档转为幻灯片
  2. 02根据生成的内容制作主题演示文稿
  3. 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.pptx
education_template.pptx
tech_dark_template.pptx
蓝黄色新拟态行业调研报告PPT模板.pptx
references/
markdown-format.md
scripts/
generate_templates.py
md_parser.py
md_to_pptx.py
pptx_generator.py

详细介绍

md-to-pptx

将 Markdown 转换为 PowerPoint,或借助 AI 生成演示文稿。

依赖项

使用前请安装所需软件包:

pip install python-pptx Pillow

注意:在 Python 3 不是默认版本的系统上,请使用 python3 而不是 python。

工作流

步骤 1:收集需求

重要:生成任何内容之前,您必须使用 AskUserQuestion 工具向用户询问以下问题:

  1. PPT页数(幻灯片数量):您希望PPT包含多少页?

    • 选项:5-10页, 10-15页, 15-20页, 20页以上
  2. 面向用户群体(目标受众):这个PPT的目标受众是谁?

    • 选项:企业高管/决策者, 技术团队/开发者, 学生/教育场景, 普通大众/客户
  3. PPT演示场景(演示情境):这个PPT将在什么场景下使用?

    • 选项:商务汇报/会议, 产品发布/路演, 培训/教学, 学术报告/研究分享
  4. PPT模板选择(模板选择):是否使用已有的PPT模板?

    • 选项:
      • business(商务风格 - 白色背景,深蓝标题)
      • tech_dark(科技风格 - 深色背景,绿色点缀)
      • education(教育风格 - 暖色背景,橙色点缀)
      • neumorphism(新拟态风格 - 蓝黄色现代风格)
      • 不使用模板/自定义

还需询问:

  1. 来源:您有现成的 Markdown 文件,还是需要我生成内容?
  2. 保存位置:PPT 保存在哪里?(默认:用户当前工作目录)

根据回答指导内容生成:

  • 幻灯片数量:决定内容的深度和详细程度
  • 目标受众:影响语言复杂度、术语和示例
  • 演示情境:影响语气、结构和视觉风格
  • 模板:设定演示文稿的视觉主题
步骤 2:确定方案

如果转换现有 Markdown:

  1. 读取 Markdown 文件
  2. 将内容解析为幻灯片(H1/H2 标题会创建新幻灯片)
  3. 使用合适的版式生成 PPTX

如果生成新内容:

  1. 根据用户主题创建大纲
  2. 提交大纲供用户审核
  3. 生成完整的 Markdown 内容
  4. 转换为 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/ 中包含四个预制模板:

模板文件描述
businessbusiness_template.pptx白色背景、深蓝标题、专业风格
tech_darktech_dark_template.pptx深灰色背景、绿色点缀、适合开发者
educationeducation_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"
)

典型交互流程

  1. 用户:“帮我创建一份关于 X 的演示文稿”
  2. 询问:主题偏好?保存位置?
  3. 生成大纲并提交审核
  4. 用户批准或提出修改要求
  5. 生成完整的 Markdown 内容
  6. 使用选定的选项运行转换脚本
  7. 报告:已创建 X 张幻灯片,保存至 Y,以及任何警告

评论

支持 Markdown