1
0
Files
PPTX/openspec/changes/archive/2026-03-03-add-slide-enabled-control/proposal.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

28 lines
1.2 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.
## Why
在开发和调试演示文稿时,经常需要临时禁用某些幻灯片而不删除它们。当前系统只有元素级的 `visible` 条件渲染,无法快速禁用整个页面。添加页面级的 `enabled` 参数可以提供简单的开关控制,方便开发调试和版本管理。
## What Changes
- 在幻灯片定义中添加可选的 `enabled` 布尔参数(默认为 `true`
- 渲染流程中检查 `enabled` 参数,跳过禁用的幻灯片
- 保留现有的元素级 `visible` 条件渲染功能
- 添加 YAML 验证支持 `enabled` 字段
- 更新文档说明页面级和元素级控制的区别
## Capabilities
### New Capabilities
- `slide-enabled-control`: 页面级启用/禁用控制,通过 `enabled` 布尔参数控制整个幻灯片是否渲染
### Modified Capabilities
- `template-system`: 扩展幻灯片定义,添加 `enabled` 字段支持
## Impact
- `yaml2pptx.py`: 主渲染循环需要检查 `enabled` 参数
- `loaders/yaml_loader.py`: 添加 `enabled` 字段验证
- `openspec/specs/template-system/spec.md`: 添加页面级 enabled 需求
- 测试文件: 添加 enabled 相关测试用例
- 文档: README.md 和 README_DEV.md 需要更新