1
0
Files
PPTX/.gitignore
lanyuanxiaoyao 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

266 lines
3.2 KiB
Plaintext

# ============================================
# Operating Systems
# ============================================
# macOS
.DS_Store
.AppleDouble
.LSOverride
._*
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns
.com.apple.timemachine.donotpresent
.com.apple.timemachine.supported
AppleDB
AppleDesktop
Network Trash Folder
Temporary Items
.apdisk
# Windows
Thumbs.db
Thumbs.db:encryptable
ehthumbs.db
ehthumbs_vista.db
*.stackdump
[Dd]esktop.ini
$RECYCLE.BIN/
*.lnk
*.url
*.cab
*.msi
*.msix
*.msm
*.msp
*.msixbundle
*.lnk
*.url
# Linux
*~
.fuse_hidden*
.directory
.Trash-*
.nfs*
# ============================================
# IDEs & Editors
# ============================================
# VSCode
.vscode/
*.code-workspace
.history/
# JetBrains IDEs (IntelliJ, PyCharm, WebStorm, CLion, etc.)
.idea/
*.iml
*.ipr
*.iws
.idea_modules/
out/
*.nav
.idea/**
# Eclipse
.project
.classpath
.settings/
.metadata
.recommenders
bin/
tmp/
*.tmp
*.bak
*.swp
*~.nib
*.tmproj
# Sublime Text
*.sublime-workspace
*.sublime-project
# Vim
*.swp
*.swo
*.swn
*~
.[!.]*.sw[a-z]
.netrwhist
# Emacs
*~
\#*\#
/.emacs.desktop
/.emacs.desktop.lock
auto-save-list
tramp
.\#*
# ============================================
# Python
# ============================================
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class
*.so
# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST
# PyInstaller
*.manifest
*.spec
# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
*.py,cover
.hypothesis/
.pytest_cache/
# Virtual environments
venv/
env/
ENV/
env.bak/
venv.bak/
.venv/
.virtualenv/
pipenv/
.virtualenvs/
# Jupyter Notebook
.ipynb_checkpoints
*.ipynb
# IPython
profile_default/
ipython_config.py
# pyenv
.python-version
# pipenv
Pipfile.lock
# PEP 582
__pypackages__/
# Cython debug symbols
cython_debug/
# ============================================
# Project Specific
# ============================================
# Generated presentations
presentations/*.pptx
!presentations/.gitkeep
# Logs
*.log
logs/
# Database
*.db
*.sqlite
*.sqlite3
# Temporary files
*.tmp
*.temp
*.bak
*.cache
# ============================================
# Environment & Secrets
# ============================================
.env
.env.*
!.env.example
.env.local
.env.development.local
.env.test.local
.env.production.local
*.pem
*.key
*.cert
secrets/
credentials/
# ============================================
# Build & Package
# ============================================
# Node modules (if any)
node_modules/
# npm
npm-debug.log*
yarn-debug.log*
yarn-error.log*
package-lock.json
yarn.lock
pnpm-lock.yaml
# ============================================
# Misc
# ============================================
# Archives
*.zip
*.tar
*.tar.gz
*.rar
*.7z
# Large files
*.iso
*.dmg
# OS generated files
.Spotlight-V100
.Trashes
# ============================================
# Keep important directories
# ============================================
# Uncomment to keep directory structure
# !templates/
# !examples/
# !assets/
temp