fix: export respect page range #2323
Merged
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.
Summary
This PR fixes a bug in the export functionality where the
--rangeparameter was not properly respected during slide export. Previously, when users specified a page range for export (e.g.,--range 1-5), the export process would iterate through all slides but only filter the range when determining which pages to export. This resulted in incorrect progress tracking and unnecessary processing of slides outside the specified range.The fix ensures that only slides within the specified page range are processed and exported, improving both performance and accuracy of the export functionality.
Fix related issue: #2227
Key Changes
exportSlidesto skip slides outside the specified range before processing, preventing unnecessary screenshot operations (packages/slidev/node/commands/export.ts:428-430)packages/slidev/node/commands/export.ts:432)genPageMd()to only include slides within the specified page range when generating markdown output (packages/slidev/node/commands/export.ts:486)Type of Change
Test Plan
Manual Testing
slidev export --range 1-3) and verify that only slides 1-3 are included in the output--range 5), non-contiguous ranges (--range 1-3,7-9), and full range to ensure backward compatibilityBreaking Changes
None
Checklist