1
0
Files
PPTX/openspec/changes/archive/2026-03-02-add-yaml-validation/proposal.md
lanyuanxiaoyao 83ff827ad1 feat: add YAML validation with check command and auto-validation
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.
2026-03-02 18:14:45 +08:00

1.9 KiB
Raw Blame History

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 和标准库
  • 用户体验:提升开发效率,减少调试时间