Repository navigation
v0.3
Theme & Template Support
Apply corporate themes by passing a .pptx or .potx template file:
marp2pptx -theme template.potx presentation.mdThe tool automatically detects slide layouts from the template using a 3-pass algorithm (OOXML type attributes, placeholder composition scoring, name heuristics) — works with both standard and custom-named layouts. Template media, styles, and slide masters are preserved.
Bug Fixes
- Typographer text rendering — Goldmark's Typographer extension produces HTML entities (
“,…,–, etc.) which were being written literally into the PPTX. They are now decoded to proper Unicode characters. - Image visibility — Small images (e.g. icons) were rendered at their native pixel size, making them invisible in presentations. Images now scale up to fill their allocated area while maintaining aspect ratio.
- Title placeholders — Headings are now placed into proper PPTX placeholder shapes (
<p:ph type="title"/>,<p:ph type="ctrTitle"/>) so they inherit theme styling. The first heading becomes the title; remaining content goes into the body placeholder.
PPTX Evaluation Tool
New cmd/pptxeval tool for inspecting and validating generated PPTX files:
# Inspect structure, text, relationships
go run ./cmd/pptxeval output.pptx
# Extract text only
go run ./cmd/pptxeval -text output.pptx
# Validate structure (CI-friendly, exits non-zero on errors)
go run ./cmd/pptxeval -lint output.pptx
# Show raw XML for a specific slide
go run ./cmd/pptxeval -slide 3 output.pptxThe linter checks for: missing relationships, orphaned media, undeclared content types, unresolved HTML entities in text, zero-dimension shapes, and slide/rels count mismatches.
Makefile targets:
make eval ARGS=output.pptx # inspect a PPTX
make eval-lint ARGS=output.pptx # lint a PPTX
make eval-all # generate and inspect all test files
make eval-lint-all # generate and lint all test filesFull Changelog
- Add theme/template support with 3-pass layout detection
- Split titles into proper PPTX placeholders
- Fix typographer HTML entity decoding
- Fix image scaling for small images
- Add
cmd/pptxevalinspection and linting tool - Add integration tests for typographer, image visibility, and PPTX lint
- Add
.gitignore
Full Changelog: v0.2...v0.3
Full Changelog: v0.2...v0.3
Full Changelog: v0.2...v0.3