--- name: slidev-ppt description: 使用 Slidev 快速创建专业演示文稿的技能。支持多种预设主题(商务、技术、创意、极简)、自动生成大纲、启动开发服务器预览、导出 PDF/PPTX。当用户需要:1) 创建 PPT 演示文稿;2) 使用 Markdown 制作幻灯片;3) 技术分享或产品发布;4) 导出演示文稿为 PDF 或其他格式时使用此技能。 --- # Slidev PPT 制作技能 ## Overview 此技能帮助用户使用 Slidev(基于 Markdown 的演示文稿工具)快速创建专业的 PPT。Slidev 使用 Markdown 语法,支持代码高亮、图表、Vue 组件等强大功能,特别适合技术分享、产品发布和商务演示。 ## 快速开始 ### 步骤 1: 确定需求和选择主题 询问用户以下问题以确定最佳方案: 1. **演示目的**: 技术分享、产品发布、商务报告、创意展示? 2. **目标受众**: 开发者、管理层、客户、大众? 3. **内容类型**: 代码演示、数据展示、图文结合? 4. **输出需求**: 仅预览、导出 PDF、导出 PPTX、全部? 根据用户回答选择合适的预设主题: - **business-theme** (`assets/business-theme/`): 产品发布、商业报告、季度总结 - **tech-theme** (`assets/tech-theme/`): 技术分享、架构设计、代码演示 - **creative-theme** (`assets/creative-theme/`): 设计展示、作品集、创意提案 - **minimal-theme** (`assets/minimal-theme/`): 简洁演示、快速原型 ### 步骤 2: 收集内容信息 收集创建演示文稿所需的关键信息: **必需信息**: - 标题 (title) - 副标题 (subtitle) - 演讲者 (presenter) - 日期 (date) **主题相关**: - **商务主题**: 公司、职位、关键点、成果、下一步计划 - **技术主题**: 技术栈、问题背景、技术方案、代码示例、性能指标 - **创意主题**: 灵感来源、设计理念、视觉元素、作品图片 - **极简主题**: 章节标题、内容要点、关键概念 ### 步骤 3: 创建演示文稿 使用 `scripts/create_presentation.py` 从模板创建: ```bash python scripts/create_presentation.py <主题名称> <输出目录> [变量...] ``` 示例: ```bash python scripts/create_presentation.py business-theme ./presentation \\ title="2024 Q4 产品发布会" \\ subtitle="全新功能升级" \\ presenter="张三" \\ position="产品经理" \\ company="ABC 科技" \\ date="2024-12-15" ``` ### 步骤 4: 启动开发服务器(自动预览) 使用 `scripts/start_dev_server.sh` 启动实时预览: ```bash cd <输出目录> bash /path/to/slidev-ppt/scripts/start_dev_server.sh slides.md ``` 或直接使用命令: ```bash npx slidev slides.md --open ``` 浏览器会自动打开 http://localhost:3030 **开发服务器特性**: - 实时预览:编辑 `slides.md` 后自动刷新 - 幻灯片导航:空格键、箭头键、点击翻页 - 绘图模式:按 `D` 进入,可在幻灯片上绘制 - 演讲者模式:按 `G` 查看演讲者备注和下一页预览 - 全屏模式:按 `F` 全屏演示 ### 步骤 5: 导出演示文稿 用户可选择以下方式导出: **导出为 PDF**(推荐用于分享和打印): ```bash bash /path/to/slidev-ppt/scripts/export_pdf.sh slides.md dist ``` **导出为 PPTX**(推荐用于进一步编辑): ```bash bash /path/to/slidev-ppt/scripts/export_pptx.sh slides.md dist ``` **导出为 PNG**(推荐用于制作图片): ```bash npx slidev export slides.md --format png --output dist ``` **导出特定页面范围**: ```bash npx slidev export slides.md --range 1,3-5,8 --output dist ``` ## 工作流程决策树 ``` 用户请求创建 PPT │ ├─ 是否已有内容? │ ├─ 是 → 使用模板快速生成 │ │ ├─ 商务内容 → business-theme │ │ ├─ 技术分享 → tech-theme │ │ ├─ 创意设计 → creative-theme │ │ └─ 简洁演示 → minimal-theme │ │ │ └─ 否 → 从零开始 │ 1. 收集内容大纲 │ 2. 确定内容类型 │ 3. 推荐合适主题 │ 4. 生成演示文稿 │ ├─ 是否需要自定义? │ ├─ 否 → 使用预设主题 │ └─ 是 → 参考主题定制指南(见下方) │ └─ 导出需求? ├─ 仅预览 → 启动开发服务器 ├─ PDF → 使用 export_pdf.sh ├─ PPTX → 使用 export_pptx.sh └─ 全部 → 先预览,再导出多种格式 ``` ## 主题选择指南 ### Business Theme(商务主题) **适用场景**: - 产品发布会 - 商业计划书 - 季度/年度报告 - 项目进度汇报 - 商务提案 **设计特点**: - 专业、正式 - 双栏布局(目录 + 详情) - 支持数据图表 - 包含成果和计划总结 **必需变量**: ```python title, subtitle, presenter, position, company, date slide1_title, slide1_content, point1, point2 # ... 其他内容变量 ``` **模板位置**: `assets/business-theme/slides.md` ### Tech Theme(技术主题) **适用场景**: - 技术分享会 - 代码演示 - 架构设计讲解 - 技术方案评审 - 开发经验总结 **设计特点**: - 使用 Apple Basic 主题 - 代码高亮(shiki) - 支持架构图(Mermaid) - 技术栈展示 - 性能优化对比 **必需变量**: ```python title, subtitle, presenter, position, date tech_stack, current_situation, challenges, goals code_title, code_example, code_explanation # ... 其他技术变量 ``` **模板位置**: `assets/tech-theme/slides.md` ### Creative Theme(创意主题) **适用场景**: - 设计作品展示 - 创意提案 - 视觉设计分享 - 品牌设计方案 - 艺术作品集 **设计特点**: - 使用 Seriph 主题 - 优雅的 Serif 字体 - 图片展示布局 - 配色方案展示 - 思维导图支持 **必需变量**: ```python title, subtitle, cover_image, presenter inspiration_intro, core_concept, design_philosophy color_scheme, font_choice, graphic_elements work1_image, work1_description, work2_image, work2_description # ... 其他创意变量 ``` **模板位置**: `assets/creative-theme/slides.md` ### Minimal Theme(极简主题) **适用场景**: - 简洁的演示文稿 - 快速原型 - 讲座和教学 - 概念介绍 - 轻量级分享 **设计特点**: - 极简设计 - 清晰的文本布局 - 基础列表展示 - 简单的图表支持 **必需变量**: ```python title, subtitle, presenter, date section1, section1_id, section1_content section2, section2_id, section2_intro, key_concept # ... 其他章节变量 ``` **模板位置**: `assets/minimal-theme/slides.md` ## 高级定制 ### 自定义样式 如果用户需要自定义样式,参考以下资源: **参考文档**: - `references/syntax.md` - Slidev 语法完整参考 - `references/themes.md` - 主题定制和配色方案 - `references/quickstart.md` - 快速入门指南 **自定义方法**: 1. **修改颜色方案**: 编辑 `slides.md` 的 frontmatter ```yaml --- theme: default primary: '#5c7cfa' secondary: '#6666ff' --- ``` 2. **创建自定义布局**: 在项目目录创建 `layouts/` 文件夹 ```vue ``` 3. **添加自定义组件**: 在项目目录创建 `components/` 文件夹 ```vue ``` ### 常用语法速查 | 功能 | 语法 | 示例 | |------|------|------| | 新幻灯片 | `---` | `---\n# 新页面` | | 代码块 | \`\`\`lang | \`\`\`typescript\nconsole.log()\n\`\`\` | | 高亮行 | \`\`\`ts {1-2} | 高亮第 1-2 行 | | 双栏布局 | `layout: two-cols` | 见各主题模板 | | 点击显示 | `` | 逐项显示内容 | | 图表 | \`\`\`mermaid | 流程图、时序图等 | | LaTeX | `$formula$` | `$\sum_{i=1}^n x_i$` | | 图标 | `` | 使用 Carbon 图标 | | 目录 | `` | 自动生成目录 | 完整语法见 `references/syntax.md` ## 故障排除 ### 问题: Slidev 未安装 **解决**: ```bash npm init slidev # 或 npm install @slidev/cli @slidev/theme-default ``` ### 问题: 模板变量未替换 **原因**: 变量名不匹配或格式错误 **解决**: 确保变量格式为 `key=value`,且 key 与模板中的 `{{key}}` 匹配 ```bash # 正确 python create_presentation.py business-theme ./out title="标题" # 错误 python create_presentation.py business-theme ./out 标题 ``` ### 问题: 导出 PDF 失败 **原因**: 可能是缺少依赖或权限问题 **解决**: ```bash # 检查 Node.js 版本 node --version # 应 >= 14.0 # 重新安装依赖 npm install # 使用 sudo(Linux/Mac) sudo npm install -g @slidev/cli ``` ### 问题: 图片不显示 **解决**: - 使用绝对路径或放在 `public/` 目录 - 检查文件路径大小写(Linux 区分大小写) - 使用网络图片确保可访问 ### 问题: 中文显示异常 **解决**: ```yaml --- fonts: sans: 'Noto Sans SC' serif: 'Noto Serif SC' webfontUrls: - 'https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;700&display=swap' --- ``` ## 最佳实践 ### 内容组织 1. **遵循"每页一观点"原则**: 每个幻灯片只讲一个核心观点 2. **使用渐进显示**: 用 `` 控制信息流,避免一次性展示过多内容 3. **代码示例优化**: - 限制代码长度(< 20 行) - 使用高亮突出关键行 - 添加注释说明 ### 设计原则 1. **一致性**: 保持配色、字体、间距的一致性 2. **对比度**: 确保文本和背景有足够对比度 3. **留白**: 避免内容过于拥挤,适当留白 4. **对齐**: 保持元素对齐,使用网格布局 ### 演示技巧 1. **排练**: 使用演讲者模式(按 `G`)进行排练 2. **时间控制**: 每页幻灯片约 2-3 分钟 3. **互动**: 使用绘图模式(按 `D`)进行标注 4. **备用**: 导出 PDF 作为备份,防止技术故障 ## 示例场景 ### 场景 1: 技术分享 - Vue3 最佳实践 ```bash # 使用技术主题 python scripts/create_presentation.py tech-theme ./vue3-talk \\ title="Vue3 最佳实践" \\ subtitle="提升开发效率和代码质量" \\ presenter="张三" \\ position="前端架构师" \\ date="2024-12-20" \\ tech_stack="Vue3, TypeScript, Vite" \\ current_situation="项目迁移到 Vue3 后遇到的问题" \\ challenges="性能优化、代码组织、类型安全" \\ goals="建立统一的开发规范和最佳实践" # 启动预览 cd vue3-talk npx slidev slides.md --open # 导出 PDF npx slidev export slides.md --output dist ``` ### 场景 2: 产品发布会 - 新功能介绍 ```bash # 使用商务主题 python scripts/create_presentation.py business-theme ./product-launch \\ title="ABC 产品 v2.0 发布会" \\ subtitle="全新功能,全新体验" \\ presenter="李四" \\ position="产品总监" \\ company="ABC 科技" \\ date="2024-12-25" \\ point1="智能推荐系统上线" \\ point2="性能提升 300%" \\ achievement1="用户增长 150%" \\ achievement2="收入增长 200%" cd product-launch npx slidev slides.md --open ``` ### 场景 3: 设计作品集 - UI/UX 设计展示 ```bash # 使用创意主题 python scripts/create_presentation.py creative-theme ./design-portfolio \\ title="2024 设计作品集" \\ subtitle="UI/UX 设计案例精选" \\ presenter="王五" \\ cover_image="./public/cover.jpg" \\ core_concept="简约而不简单" \\ design_philosophy="用户至上,体验优先" \\ color_scheme="主色: #5c7cfa, 辅色: #6666ff" \\ work1_image="./public/work1.jpg" \\ work1_description="电商 APP 改版设计" \\ work2_image="./public/work2.jpg" \\ work2_description="企业后台系统设计" cd design-portfolio npx slidev slides.md --open ``` ## 资源 ### scripts/ 可执行脚本,用于创建、启动和导出演示文稿: - **create_presentation.py** - 从模板创建新的演示文稿 - 用法: `python create_presentation.py <主题> <目录> [变量...]` - 示例: 见上方示例场景 - **start_dev_server.sh** - 启动 Slidev 开发服务器 - 用法: `bash start_dev_server.sh ` - 功能: 实时预览、自动刷新 - **export_pdf.sh** - 导出为 PDF - 用法: `bash export_pdf.sh [输出目录]` - 功能: 生成高质量 PDF 文件 - **export_pptx.sh** - 导出为 PPTX - 用法: `bash export_pptx.sh [输出目录]` - 功能: 生成可编辑的 PowerPoint 文件 ### assets/ 预设主题模板,包含完整的 slides.md 文件: - **business-theme/** - 商务风格模板 - 适用于: 产品发布、商业报告、项目汇报 - 特点: 专业、正式、数据图表支持 - **tech-theme/** - 技术分享模板 - 适用于: 技术分享、代码演示、架构讲解 - 特点: 代码高亮、架构图、技术栈展示 - **creative-theme/** - 创意设计模板 - 适用于: 设计展示、作品集、创意提案 - 特点: 优雅字体、图片展示、配色方案 - **minimal-theme/** - 极简风格模板 - 适用于: 简洁演示、快速原型、教学讲座 - 特点: 极简设计、清晰布局、基础图表 ### references/ 详细参考文档,供深入学习使用: - **syntax.md** - Slidev 语法完整参考 - 内容: 基本语法、布局系统、代码块、图表、交互元素 - 使用: 需要了解详细语法时查阅 - **themes.md** - 主题定制和配色方案 - 内容: 内置主题、颜色方案、字体定制、样式自定义 - 使用: 需要自定义主题和样式时查阅 - **quickstart.md** - 快速入门指南 - 内容: 安装、基本使用、文件结构、常见问题 - 使用: 初次使用 Slidev 时阅读 **加载策略**: 当用户需要深入了解语法、主题定制或遇到问题时,按需加载对应的参考文档。 ## 相关资源 **官方文档**: - [Slidev 官方文档](https://cn.sli.dev/) - [语法详解](https://cn.sli.dev/guide/syntax.html) - [主题画廊](https://cn.sli.dev/themes/gallery.html) - [导出功能](https://cn.sli.dev/guide/exporting.html) **社区资源**: - [GitHub 仓库](https://github.com/slidevjs/slidev) - [示例集合](https://cn.sli.dev/showcases.html) - [社区讨论](https://github.com/slidevjs/slidev/discussions)