Document re-entrant deck updates, slideId bootstrapping, and template/update semantics#170
Merged
Merged
Conversation
Copilot
AI
changed the title
[WIP] Document re-entrant update workflow with slideId and template support
Document re-entrant deck updates, slideId bootstrapping, and template/update semantics
May 10, 2026
Contributor
There was a problem hiding this comment.
Pull request overview
This PR expands the user-facing documentation for MarpToPptx’s re-entrant update workflow, clarifying how iterative Markdown → PPTX authoring works when preserving unmanaged slides and reconciling managed slides by identity.
Changes:
- Added a README quickstart section for update mode, including
--update-existing,--template, and--write-slide-ids. - Expanded template documentation to distinguish template rendering inputs from update reconciliation inputs.
- Added a new end-to-end walkthrough doc for safely updating an existing deck while preserving unmanaged slides.
Show a summary per file
| File | Description |
|---|---|
| README.md | Documents re-entrant update workflow and links to the new walkthrough doc. |
| doc/using-templates.md | Clarifies update-mode semantics vs template rendering and adds guidance around Template[n] in update workflows. |
| doc/updating-existing-decks.md | Adds an end-to-end iterative workflow walkthrough with troubleshooting. |
Copilot's findings
- Files reviewed: 3/3 changed files
- Comments generated: 5
Comment on lines
+102
to
+106
| ```bash | ||
| marp2pptx deck.md --template conference-template.pptx -o deck.pptx | ||
| marp2pptx deck.md --write-slide-ids -o deck.pptx | ||
| marp2pptx deck.md --update-existing previous-deck.pptx --template conference-template.pptx -o updated-deck.pptx | ||
| ``` |
Comment on lines
+113
to
+115
| `--write-slide-ids` writes only missing `<!-- slideId: ... -->` directives so | ||
| future updates can match slides by stable identity. During update mode, unmanaged | ||
| slides are preserved, while changed managed slides are replaced wholesale. |
| marp2pptx deck.md --write-slide-ids -o deck.pptx | ||
| ``` | ||
|
|
||
| It adds only missing `slideId` directives and preserves existing ones. |
Comment on lines
+133
to
+137
| | Mode | Command shape | Source of slide ordering and identity | | ||
| |---|---|---| | ||
| | Fresh render | `marp2pptx deck.md --template conference-template.pptx -o deck.pptx` | Current Markdown only | | ||
| | Update render | `marp2pptx deck.md --update-existing previous-deck.pptx --template conference-template.pptx -o updated-deck.pptx` | Existing managed deck metadata + current Markdown | | ||
|
|
Comment on lines
+61
to
+62
| This adds only missing `<!-- slideId: ... -->` directives and preserves any | ||
| existing explicit directives. |
Owner
|
@copilot address comments |
…e-ids in-place rewrite
Contributor
Author
All five review comments addressed in the latest commit:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
New Feature
What does this feature do?
This updates the docs surface for the re-entrant update capability so users can safely run iterative Markdown → PPTX workflows with templates, preserved unmanaged slides, and identity-based managed slide reconciliation.
Why is this feature needed?
The update flow was discoverable only through code/tests and easy to misuse—especially around the distinction between previous managed deck (
--update-existing) and rendering template (--template), plus howslideIdand--write-slide-idsstabilize mapping.Implementation details
README: re-entrant update quickstart
--update-existingvs--templateas separate semantic inputs.--write-slide-idsbehavior: rewrites the input Markdown file in place, adding only missing directives and preserving existing ones.Template docs: update-mode semantics
doc/using-templates.mdwith explicit update-mode guidance.--update-existingreconciliation input.Template[n]behavior when both--update-existingand--templateare supplied.--write-slide-idsrewrites the input Markdown file in place before rendering.New walkthrough: end-to-end iterative authoring
doc/updating-existing-decks.mdwith a practical start-to-finish scenario:--update-existing+--template--write-slide-idsrewrites the input Markdown file in place.