### Features - Auto animation (#1527, https://revealjs.com/auto-animate/) - Is it possible to abstract `shiki-magic-move` into a more universal `magic-move` and a `shiki` "tokenizer"? - Vertical slides (#1187, https://revealjs.com/vertical-slides/) - Timed next slide (#1051, https://revealjs.com/auto-slide/) - Scroll view (https://revealjs.com/scroll-view/) - Sync states in SPA mode, with a stand-alone server (#1227) - "loose mode" markdown: https://github.com/unplugin/unplugin-vue-markdown/issues/14 - Implement a fully-featured language service based on [vue-vine's language service](https://github.com/vue-vine/vue-vine/tree/main/packages/language-service) (expected effect: https://github.com/slidevjs/slidev-vscode/issues/9) ### Addons - [?] Addon Marketplace (related to #1392) - Directly use the Nuxt's module system or create a similar one? - 🚫 <del>Consider theme as addon </del> See https://github.com/slidevjs/slidev/issues/1515#issuecomment-2050062650 - Give addon more abilities - Hooks (#1539) - ✅ <del>Markdown Transformer (`setupMdTransformer`) (#1626) (example use-case: #1503) </del> (#1767) - 🚫 <del>Page Templates (#1509) </del> - Print templates (#1513) - ✅ <del> slide layers </del> #1634 - 🚫 <del> `setupViteConfig: (config: Config) => Config` instead of `vite.config.ts` </del> - ✅ <del> Custom routes </del> (#1529) ### Module resolution - Bundle `@slidev/client` into `@slidev/cli` - Allow to customize user root ([Discord thread](https://discord.com/channels/851817370623410197/1225094031575617629)) - Use `.env` or `package.json` or slide frontmatter? - `slidev.config.ts`? - Also helpful to #1586 - ✅ <del> Optimize deps related (#1385: `@vueuse/core`) - Need help - may be Vite bug </del> (#1559) - ✅ <del> Global installation related (#1440,#1479,#1490) - Deprecate global installation? Or how to fix it </del> (#1559) - ✅ <del>Preserve comments in frontmatter when updating it (#1518) - Use `yaml` package instead of `js-yaml`</del> ### Performance - Use Vite's `warmup` option (Blocked by https://github.com/vitejs/vite/issues/16523) - Pre-compile UnoCSS for `@slidev/client`, (Should also solve #1573) - Only enable Monaco Editor when the render context is `slides` or `presenter` - Reduce fs operations: finding `setup`s and `layout`s - ✅ <del> Load the quick overview component after the current slide is fully loaded (#1526) </del> ### Chore - Rewrite Twoslash renderer (#1414) - Improve docs & clean up outdated translations - ✅ <del> Migrate CodeMirror to Monaco editor in side editor (#1391) </del> (#1698)
Features
shiki-magic-moveinto a more universalmagic-moveand ashiki"tokenizer"?Addons
Consider theme as addonSee Project todos #1515 (comment)Markdown Transformer ((feat: allow to customize markdown transformers #1767)setupMdTransformer) (Pluggable Markdown transformers #1626) (example use-case: feat: Implemented transformer for the wavedrom library #1503)Page Templates (RFC: Custom UI layouts #1509)slide layersfeat: slide layers #1634setupViteConfig: (config: Config) => Configinstead ofvite.config.tsCustom routes(feat: setup for routes #1529)Module resolution
@slidev/clientinto@slidev/cli.envorpackage.jsonor slide frontmatter?slidev.config.ts?Optimize deps related (Don't force hoisting #1385:- Need help - may be Vite bug (fix: optimize deps errors in global installation mode #1559)
@vueuse/core)Global installation related (Failed to install slidev globally on MacOS #1440,globally installed 0.48.8 seems breaking mermaid #1479,Slide export doesn't handle- Deprecate global installation? Or how to fix it (fix: optimize deps errors in global installation mode #1559)
v-ifinglobal-toporglobal-bottombased on conditional usingcurrentPage,currentLayout#1490)Preserve comments in frontmatter when updating it (feat: preserve comments in frontmatter #1518)- Use
yamlpackage instead ofjs-yamlPerformance
warmupoption (Blocked by Support module loading priority vitejs/vite#16523)@slidev/client, (Should also solve positioning of built in slide editor wrong #1573)slidesorpresentersetups andlayoutsLoad the quick overview component after the current slide is fully loaded (perf: suspendQuickOverviewand Monaco types loading #1526)Chore
Migrate CodeMirror to Monaco editor in side editor (RFC: Migrate CodeMirror to Monaco #1391)(feat: replace CodeMirror in side editor with Shiki-based textarea #1698)