添加页面级 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 个单元测试通过
28 lines
1021 B
Markdown
28 lines
1021 B
Markdown
# Template System (Delta)
|
||
|
||
## ADDED Requirements
|
||
|
||
### Requirement: 幻灯片定义必须支持 enabled 字段
|
||
|
||
幻灯片定义 SHALL 支持可选的 `enabled` 布尔字段,用于控制该幻灯片是否渲染。该字段与模板系统的其他字段(template、vars、elements、background)独立工作。
|
||
|
||
#### Scenario: 幻灯片包含 enabled 字段
|
||
|
||
- **WHEN** 幻灯片定义包含 `enabled: false` 或 `enabled: true`
|
||
- **THEN** 系统正常加载幻灯片定义,并在渲染时检查该字段
|
||
|
||
#### Scenario: enabled 字段可选
|
||
|
||
- **WHEN** 幻灯片定义未包含 `enabled` 字段
|
||
- **THEN** 系统默认该幻灯片为启用状态
|
||
|
||
#### Scenario: enabled 与 template 共存
|
||
|
||
- **WHEN** 幻灯片同时定义了 `enabled: false` 和 `template: title-slide`
|
||
- **THEN** 系统跳过该幻灯片,不加载模板
|
||
|
||
#### Scenario: enabled 与自定义幻灯片共存
|
||
|
||
- **WHEN** 自定义幻灯片(不使用模板)定义了 `enabled: false`
|
||
- **THEN** 系统跳过该幻灯片,不渲染元素列表
|