Implements comprehensive validation before PPTX conversion to catch errors early. Includes element-level validation (colors, fonts, table consistency) and system-level validation (geometry, resources). Supports standalone check command and automatic validation during conversion.
41 lines
1.9 KiB
Markdown
41 lines
1.9 KiB
Markdown
## Why
|
||
|
||
用户在编写 YAML 演示文稿源文件时,经常遇到元素超出页面范围、图片文件路径错误、语法问题等错误,这些问题只有在转换成 PPTX 后打开查看才能发现,导致需要反复修改和转换,效率低下。需要提供一个验证功能,在转换前检查 YAML 文件的各种潜在问题,让用户能够提前发现并修复错误。
|
||
|
||
## What Changes
|
||
|
||
- 添加 YAML 文件验证功能,支持多层次的检查
|
||
- 结构验证:必需字段、数据类型、枚举值
|
||
- 几何验证:元素边界、页面范围检查
|
||
- 资源验证:图片文件、模板文件存在性
|
||
- 样式验证:颜色格式、字体大小合理性
|
||
- 添加独立的 `check` 子命令:`yaml2pptx.py check input.yaml`
|
||
- 添加转换前自动检查选项:默认启用,可通过 `--no-check` 跳过
|
||
- 实现分级的错误报告系统
|
||
- ERROR:阻止转换的严重问题(文件不存在、语法错误、关键参数缺失)
|
||
- WARNING:影响视觉效果的问题(元素超出页面、字体太小)
|
||
- INFO:优化建议
|
||
- 输出清晰的命令行报告,显示问题位置(幻灯片、元素)和具体描述
|
||
|
||
## Capabilities
|
||
|
||
### New Capabilities
|
||
|
||
- `yaml-validation`: YAML 演示文稿文件的验证能力,包括结构验证、几何验证、资源验证和样式验证
|
||
|
||
### Modified Capabilities
|
||
|
||
无。这是新增功能,不修改现有能力的需求。
|
||
|
||
## Impact
|
||
|
||
- **主程序**:修改 `yaml2pptx.py`,添加 `check` 子命令和 `--no-check` 选项
|
||
- **新增模块**:创建验证器模块(建议在 `validators/` 目录下)
|
||
- 结构验证器
|
||
- 几何验证器
|
||
- 资源验证器
|
||
- 样式验证器
|
||
- **现有功能**:不影响现有的转换功能,验证是可选的
|
||
- **依赖**:无新增外部依赖,使用现有的 PyYAML 和标准库
|
||
- **用户体验**:提升开发效率,减少调试时间
|