You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Replaces the custom picker.ts and build.ts scripts with slidev-decks — a lean CLI for managing multiple Slidev presentations. This was actually inspired by this repo (mentioned in Prior Art), so it felt right to bring it full circle.
What changes:
pnpm dev now uses slidev-decks interactive picker (fuzzy matching, sorted by date, title display)
slidev-decks list for a quick overview of all decks
Test plan
slidev-decks list discovers all 35 Slidev decks (2 pre-Slidev PDF-only talks correctly excluded)
redirects.ts base path extraction still works for all 35 decks (regex matches new build script format)
pnpm dev launches interactive picker and starts a deck
pnpm build builds all decks with correct base paths
Netlify deploy produces working URLs at existing paths
Note: Obviously this is a PR which was opened against, what I would consider, a source-available repo that is not commonly open for PRs, so feel free to close if you want, no hurt feelings! 😁
Another note: The per-deck package.json files could be eliminated entirely if the folder structure matched the semantic URL paths, i.e., renaming 2024-12-07/ to 2024/feday/ (or nesting as 2024/feday/).
With that change:
slidev-decks build --all would use the folder name as the base path automatically — no per-deck build scripts needed redirects.ts could derive paths from the folder structure instead of parsing build scripts
The pnpm workspace config (*/src) and all 35 per-deck package.json files could be dropped
The repo would go from a pnpm monorepo to a flat multi-deck setup managed entirely by slidev-decks
The trade-off is a one-time rename of all 37 folders + updating netlify.toml redirects. The date-based redirects (/2024-12-07 → /2024/feday/) would still work since redirects.ts can generate those from folder names.
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
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
Replaces the custom
picker.tsandbuild.tsscripts withslidev-decks— a lean CLI for managing multiple Slidev presentations. This was actually inspired by this repo (mentioned in Prior Art), so it felt right to bring it full circle.What changes:
pnpm devnow usesslidev-decksinteractive picker (fuzzy matching, sorted by date, title display)pnpm buildusesslidev-decks build --all --continue-on-error(progress tracking, incremental builds)tsx ../../scripts/build.ts <base>toslidev build --out <dir> --base <base>execa,prompts,@types/prompts,tinyexecWhat stays the same:
scripts/redirects.ts(still parses base paths from per-deck build scripts — verified all 35 work)netlify.tomldeployment,dist-stalecaching strategyNet change: 40 lines added, 138 lines removed across 39 files (mostly simplified per-deck package.json build scripts).
What slidev-decks provides over the custom scripts
slides.mdin both flat (<name>/slides.md) and nested (<name>/src/slides.md) layouts--continue-on-errorfor resilient batch builds--filterfor building subsets (slidev-decks build --all -f "2024-*")[3/35]) during batch buildsslidev-decks listfor a quick overview of all decksTest plan
slidev-decks listdiscovers all 35 Slidev decks (2 pre-Slidev PDF-only talks correctly excluded)redirects.tsbase path extraction still works for all 35 decks (regex matches new build script format)pnpm devlaunches interactive picker and starts a deckpnpm buildbuilds all decks with correct base pathsNote: Obviously this is a PR which was opened against, what I would consider, a source-available repo that is not commonly open for PRs, so feel free to close if you want, no hurt feelings! 😁