feat(P3b): python-pptx generator — structured editable S&P-themed PPTX (REQ-269,270)

New scripts/render_pptx.py parses the consolidated -marp.md and
produces a structured, editable, S&P-themed PPTX via python-pptx.
16:9; title slide black bg + red top bar; content slides with red H2
titles, bullets, blockquotes, embedded PNGs, native tables, benefit
callouts. Added python-pptx>=0.6.23 to pyproject [slides] optional-dep.
render_slides.sh Step 4 produces it; attach_release_asset.py extended
for dual PPTX. Output: nova-autonomous-cloud-delivery-python.pptx.

---ci---
project: acdl
phase: 3
milestone: v1.23
status: execute
phase_role: execution
---/ci---
This commit is contained in:
Jon Chery
2026-08-12 00:21:17 +00:00
parent 66b13a6d0c
commit 863f482f9c
6 changed files with 723 additions and 9 deletions
+13 -4
View File
@@ -78,7 +78,16 @@ echo "=== Step 3: Inlining images into HTML ==="
python3 scripts/inline_images.py "$HTML" 2>&1
echo ""
# --- Step 4: stage ---
echo "=== Step 4: Staging rendered artifacts ==="
git add "$PNG_DIR"/*.png "$HTML" "$PPTX" 2>/dev/null || true
echo "=== Done: staged $(ls "$PNG_DIR"/*.png 2>/dev/null | wc -l) PNGs + $HTML + $PPTX ==="
# --- Step 4: render python-pptx (structured, editable, S&P-themed) ---
# REQ-269: python-pptx produces a structured, editable PPTX (native text boxes,
# tables, images) alongside the MARP-rendered PPTX.
echo "=== Step 4: Rendering python-pptx deck ==="
PYTHON_PPTX="docs/presentations/${DECK}-python.pptx"
python3 scripts/render_pptx.py "$DECK" 2>&1
echo " Python PPTX → $PYTHON_PPTX"
echo ""
# --- Step 5: stage ---
echo "=== Step 5: Staging rendered artifacts ==="
git add "$PNG_DIR"/*.png "$HTML" "$PPTX" "$PYTHON_PPTX" 2>/dev/null || true
echo "=== Done: staged $(ls "$PNG_DIR"/*.png 2>/dev/null | wc -l) PNGs + $HTML + $PPTX + $PYTHON_PPTX ==="