github paulstothard/fast-pptx v1.0.7
fast-pptx v1.0.7

latest release: v1.0.8
8 hours ago

fast-pptx v1.0.7

This release adds an automatic PPTX fix-and-merge workflow, replaces the pageres-cli screenshot dependency with a self-contained Playwright helper, reorganizes the repository layout, consolidates sample output slides, and improves templates, documentation, and shell script portability.

Highlights

Website Screenshots Now Use Playwright

  • Removed pageres-cli dependency
  • Added scripts/capture-site.mjs, a small Node.js helper that launches Chromium via Playwright, opens each URL at a fixed 1280×800 viewport, and saves a viewport-only PNG
  • Screenshot behavior is now explicit and easy to debug rather than hidden behind a third-party CLI
  • npm install --prefix scripts and npx --prefix scripts playwright install chromium replace the old npm install -g pageres-cli step

Single Chromium Install for Both Screenshots and Diagrams

  • mermaid-cli uses Puppeteer internally to render diagrams but previously required a separate Chrome install
  • Added scripts/chromium-path.mjs to resolve the Playwright Chromium path at runtime
  • fast-pptx.sh now sets PUPPETEER_EXECUTABLE_PATH automatically so mermaid-cli reuses the Playwright Chromium binary
  • One npx --prefix scripts playwright install chromium command is all that is needed

Repository Reorganization

  • Moved fast-pptx.sh to the project root so it can be run directly as ./fast-pptx.sh
  • Moved sample_input/ and test.sh to the project root
  • Helper scripts (source.sh, capture-site.mjs, chromium-path.mjs, merge_pptx.py, package.json) remain in scripts/
  • Theme files (theme.pptx, theme_code_blocks.pptx) remain in scripts/includes/
  • Updated all internal paths in fast-pptx.sh to reflect the new layout
  • Updated .gitignore to exclude scripts/node_modules/, scripts/package-lock.json, __pycache__/, and *.pyc

Consolidated Sample Output Slides

  • Sample output slides are now exported from slides_merged.pptx into a single includes/slides/ folder
  • Removed the separate includes/slides_code_blocks/ folder
  • README_sample_output.md now lists all slides in one section

Automatic PPTX Repair and Merge

  • Added scripts/merge_pptx.py to repair generated .pptx packages and merge the regular and code decks while preserving source formatting
  • fast-pptx.sh now generates slides_merged.pptx automatically
  • If no code slides are generated, slides_merged.pptx is created as a repaired copy of slides.pptx
  • Fixed merged-deck issues that triggered PowerPoint repair warnings by aligning slide master and slide layout identifier handling with PowerPoint's expectations

Template and Table Improvements

  • Updated the regular-slide PowerPoint template so table slides use a wider content area
  • Added a custom regular-slide table style with a more modern non-blue header and alternating row colors
  • Reduced regular table-adjacent default text sizing in the template so generated tables fit more cleanly
  • Kept the code-slide template separate so code formatting can still be tuned independently

Documentation and Dependency Updates

  • Updated README install section to reflect the new repo layout and Playwright-based screenshot workflow
  • Rewrote the README opening examples to make it clear that sites.txt URLs are captured as screenshots
  • Added an early README explanation of the intended workflow: start with figures, tables, screenshots, and code snippets, then edit the generated deck in PowerPoint
  • Removed the old manual-merge guidance from the README in favor of the automatic merge workflow

Shell Script Portability Fixes

  • Added explicit runtime checks for the merge helper and Node.js
  • Added portable hash-command detection so the script can use either md5sum or md5
  • Added ImageMagick command detection so the script can use either magick or convert

Requirements

  • pandoc
  • Graphviz
  • poppler
  • ImageMagick
  • Node.js with Playwright (npm install --prefix scripts && npx --prefix scripts playwright install chromium)
  • Python 3
  • csv2md, mermaid-cli, and svgexport

Documentation

See the project README.md for installation, supported input types, output structure, and the updated workflow.

Don't miss a new fast-pptx release

NewReleases is sending notifications on new releases.