1
0
Commit Graph

5 Commits

Author SHA1 Message Date
ed940f0690 refactor: modularize yaml2pptx into layered architecture
Refactor yaml2pptx.py from a 1,245-line monolithic script into a modular
architecture with clear separation of concerns. The entry point is now
127 lines, with business logic distributed across focused modules.

Architecture:
- core/: Domain models (elements, template, presentation)
- loaders/: YAML loading and validation
- renderers/: PPTX and HTML rendering
- preview/: Flask preview server
- utils.py: Shared utilities

Key improvements:
- Element abstraction layer using dataclass with validation
- Renderer logic built into generator classes
- Single-direction dependencies (no circular imports)
- Each module 150-300 lines for better readability
- Backward compatible CLI interface

Documentation:
- README.md: User-facing usage guide
- README_DEV.md: Developer documentation

OpenSpec:
- Archive refactor-yaml2pptx-modular change (63/70 tasks complete)
- Sync 5 delta specs to main specs (2 new + 3 updated)
2026-03-02 16:43:45 +08:00
b2132dc06b feat: enable text auto-wrap for text boxes by default
- Set text_frame.word_wrap = True in add_text_element() for PPTX
- Change CSS from white-space: pre-wrap to normal in HTML preview
- Add overflow-wrap: break-word for better word breaking
- Update README.md with auto-wrap documentation
- Update element-rendering and html-rendering specs
- Archive change: 2026-03-02-add-text-auto-wrap
2026-03-02 15:23:14 +08:00
cd7988cbd5 feat: initial implementation of html2pptx with OpenSpec documentation
Add core Python script (yaml2pptx.py) for converting YAML to PowerPoint:
- Element rendering: text, image, shape, table, chart
- Template system with placeholders
- PPTX generation with python-pptx

OpenSpec workflow setup:
- 3 archived changes: browser-preview, template-dir-cli, yaml-to-pptx
- 7 main specifications covering all core modules
- Config and documentation structure

30 files changed, 4984 insertions(+)
2026-03-02 14:28:25 +08:00
6cb422a72a feat: add OpenSpec workflow configuration
Add comprehensive OpenSpec workflow support for Claude Code and OpenCode:
- Commands: apply, archive, bulk-archive, continue, explore, ff, new, onboard, propose, sync, verify
- Skills: 11 specialized skills for change management workflow
- Supports artifact-based development with structured change tracking

44 files changed, 8017 insertions(+)
2026-03-02 14:27:53 +08:00
482f9cbbad chore: add comprehensive .gitignore for cross-platform development
Add .gitignore covering:
- Operating systems: macOS, Windows, Linux
- IDEs: VSCode, JetBrains, Eclipse, Vim, Emacs
- AI editors: Claude Code, OpenCode, Cursor, Aider, etc.
- Python: venv, __pycache__, dist, coverage
- Project: generated presentations, logs, env files
2026-03-02 14:26:41 +08:00