1
0
Files
PPTX/openspec/changes/archive/2026-03-03-add-slide-enabled-control/tasks.md
lanyuanxiaoyao 01a93ce13b feat: 添加页面级 enabled 参数支持幻灯片启用/禁用控制
添加页面级 enabled 布尔参数,用于临时禁用整个幻灯片,无需删除或注释 YAML 内容。
与元素级 visible 条件渲染独立工作,提供两层控制机制。

主要变更:
- 在 yaml2pptx.py 主循环中检查 enabled 参数,跳过禁用的幻灯片
- 实现独立的 slide_index 计数器,准确统计实际渲染的幻灯片数量
- 在 yaml_loader.py 中添加 enabled 字段验证,确保类型为布尔值
- 添加 11 个测试用例,覆盖各种使用场景
- 更新 README.md 和 README_DEV.md 文档,说明 enabled 和 visible 的区别
- 创建新的 slide-enabled-control capability 规范
- 更新 template-system 规范,添加 enabled 字段支持

使用示例:
  slides:
    - template: title-slide
      vars:
        title: "正常页面"
    - enabled: false
      template: work-in-progress
      vars:
        title: "临时禁用的页面"

测试:所有 282 个单元测试通过
2026-03-03 16:33:10 +08:00

34 lines
1.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
## 1. YAML 验证支持
- [x] 1.1 在 loaders/yaml_loader.py 中添加 enabled 字段验证(布尔类型,可选)
- [x] 1.2 添加 enabled 字段类型检查,拒绝非布尔值
- [x] 1.3 添加测试用例test_slide_enabled_validation
## 2. 渲染逻辑修改
- [x] 2.1 修改 yaml2pptx.py 主循环,添加 enabled 检查
- [x] 2.2 实现独立的 slide_index 计数器,只统计实际渲染的幻灯片
- [x] 2.3 确保 log_progress 显示准确的渲染进度
## 3. 测试用例
- [x] 3.1 添加测试test_slide_enabled_false禁用幻灯片被跳过
- [x] 3.2 添加测试test_slide_enabled_default_true默认启用
- [x] 3.3 添加测试test_slide_enabled_with_templateenabled 与模板共存)
- [x] 3.4 添加测试test_slide_enabled_with_custom_slideenabled 与自定义幻灯片共存)
- [x] 3.5 添加测试test_slide_enabled_with_element_visibleenabled 和 visible 共存)
- [x] 3.6 添加测试test_slide_enabled_count渲染统计准确
- [x] 3.7 添加测试test_slide_enabled_invalid_type拒绝非布尔值
## 4. 文档更新
- [x] 4.1 更新 README.md添加 enabled 参数说明和使用示例
- [x] 4.2 更新 README_DEV.md说明 enabled 的实现细节
- [x] 4.3 在文档中明确 enabled静态开关和 visible动态条件的区别
## 5. 集成测试
- [x] 5.1 创建测试 YAML 文件,包含启用和禁用的幻灯片
- [x] 5.2 运行完整转换流程,验证生成的 PPTX 文件正确
- [x] 5.3 验证日志输出准确反映实际渲染的幻灯片数量