@slidev/cli 52.14.1 → 52.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@slidev/cli",
3
3
  "type": "module",
4
- "version": "52.14.1",
4
+ "version": "52.15.0",
5
5
  "description": "Presentation slides for developers",
6
6
  "author": "Anthony Fu <anthonyfu117@hotmail.com>",
7
7
  "license": "MIT",
@@ -32,7 +32,7 @@
32
32
  "template.md"
33
33
  ],
34
34
  "engines": {
35
- "node": ">=18.0.0"
35
+ "node": ">=20.12.0"
36
36
  },
37
37
  "peerDependencies": {
38
38
  "playwright-chromium": "^1.10.0"
@@ -43,20 +43,20 @@
43
43
  }
44
44
  },
45
45
  "dependencies": {
46
- "@antfu/ni": "^28.2.0",
46
+ "@antfu/ni": "^30.1.0",
47
47
  "@antfu/utils": "^9.3.0",
48
- "@comark/markdown-it": "^0.3.0",
49
- "@iconify-json/carbon": "^1.2.19",
48
+ "@comark/markdown-it": "^0.3.4",
49
+ "@iconify-json/carbon": "^1.2.20",
50
50
  "@iconify-json/ph": "^1.2.2",
51
51
  "@iconify-json/svg-spinners": "^1.2.4",
52
52
  "@lillallol/outline-pdf": "^4.0.0",
53
- "@shikijs/markdown-it": "^4.0.1",
54
- "@shikijs/twoslash": "^4.0.1",
55
- "@shikijs/vitepress-twoslash": "^4.0.1",
56
- "@unocss/extractor-mdc": "^66.6.3",
57
- "@unocss/reset": "^66.6.3",
58
- "@vitejs/plugin-vue": "^6.0.4",
59
- "@vitejs/plugin-vue-jsx": "^5.1.4",
53
+ "@shikijs/markdown-it": "^4.0.2",
54
+ "@shikijs/twoslash": "^4.0.2",
55
+ "@shikijs/vitepress-twoslash": "^4.0.2",
56
+ "@unocss/extractor-mdc": "^66.6.8",
57
+ "@unocss/reset": "^66.6.8",
58
+ "@vitejs/plugin-vue": "^6.0.6",
59
+ "@vitejs/plugin-vue-jsx": "^5.1.5",
60
60
  "ansis": "^4.2.0",
61
61
  "chokidar": "^5.0.0",
62
62
  "cli-progress": "^3.12.0",
@@ -65,22 +65,23 @@
65
65
  "fast-glob": "^3.3.3",
66
66
  "get-port-please": "^3.2.0",
67
67
  "global-directory": "^5.0.0",
68
- "htmlparser2": "^10.1.0",
68
+ "htmlparser2": "^12.0.0",
69
69
  "is-installed-globally": "^1.0.0",
70
70
  "jiti": "^2.6.1",
71
- "katex": "^0.16.33",
71
+ "katex": "^0.16.45",
72
72
  "local-pkg": "^1.1.2",
73
73
  "lz-string": "^1.5.0",
74
74
  "magic-string": "^0.30.21",
75
75
  "magic-string-stack": "^1.1.0",
76
- "markdown-exit": "^1.0.0-beta.8",
76
+ "markdown-exit": "^1.0.0-beta.9",
77
77
  "markdown-it-footnote": "^4.0.0",
78
- "mlly": "^1.8.0",
78
+ "markdown-it-github-alerts": "^1.0.1",
79
+ "mlly": "^1.8.2",
79
80
  "monaco-editor": "^0.55.1",
80
81
  "obug": "^2.1.1",
81
82
  "open": "^11.0.0",
82
83
  "pdf-lib": "^1.17.1",
83
- "picomatch": "^4.0.3",
84
+ "picomatch": "^4.0.4",
84
85
  "plantuml-encoder": "^1.4.0",
85
86
  "postcss-nested": "^7.0.2",
86
87
  "pptxgenjs": "^4.0.1",
@@ -89,34 +90,34 @@
89
90
  "resolve-from": "^5.0.0",
90
91
  "resolve-global": "^2.0.0",
91
92
  "semver": "^7.7.4",
92
- "shiki": "^4.0.1",
93
- "shiki-magic-move": "^1.2.1",
93
+ "shiki": "^4.0.2",
94
+ "shiki-magic-move": "^1.3.0",
94
95
  "sirv": "^3.0.2",
95
96
  "source-map-js": "^1.2.1",
96
97
  "typescript": "^5.9.3",
97
- "unhead": "^2.1.10",
98
- "unocss": "^66.6.2",
98
+ "unhead": "^2.1.13",
99
+ "unocss": "^66.6.8",
99
100
  "unplugin-icons": "^23.0.1",
100
- "unplugin-vue-components": "^31.0.0",
101
+ "unplugin-vue-components": "^32.0.0",
101
102
  "unplugin-vue-markdown": "^30.0.0",
102
103
  "untun": "^0.1.3",
103
- "uqr": "^0.1.2",
104
- "vite": "^7.3.1",
104
+ "uqr": "^0.1.3",
105
+ "vite": "^8.0.10",
105
106
  "vite-plugin-inspect": "^11.3.3",
106
107
  "vite-plugin-remote-assets": "^2.1.0",
107
- "vite-plugin-static-copy": "^3.2.0",
108
+ "vite-plugin-static-copy": "^4.1.0",
108
109
  "vite-plugin-vue-server-ref": "^1.0.0",
109
- "vitefu": "^1.1.2",
110
- "vue": "^3.5.29",
111
- "yaml": "^2.8.2",
110
+ "vitefu": "^1.1.3",
111
+ "vue": "^3.5.33",
112
+ "yaml": "^2.8.3",
112
113
  "yargs": "^18.0.0",
113
- "@slidev/parser": "52.14.1",
114
- "@slidev/types": "52.14.1",
115
- "@slidev/client": "52.14.1"
114
+ "@slidev/client": "52.15.0",
115
+ "@slidev/parser": "52.15.0",
116
+ "@slidev/types": "52.15.0"
116
117
  },
117
118
  "devDependencies": {
118
119
  "@hedgedoc/markdown-it-plugins": "^2.1.4",
119
- "@types/picomatch": "^4.0.2",
120
+ "@types/picomatch": "^4.0.3",
120
121
  "@types/plantuml-encoder": "^1.4.2"
121
122
  },
122
123
  "scripts": {
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: slidev
3
- description: Create and present web-based slides for developers using Markdown, Vue components, code highlighting, animations, and interactive features. Use when building technical presentations, conference talks, or teaching materials.
3
+ description: Create and present web-based slidedecks for developers using Slidev with Markdown, Vue components, code highlighting, animations, and interactive features. Use when building technical presentations, conference talks, code walkthroughs, teaching materials, or developer decks.
4
4
  ---
5
5
 
6
6
  # Slidev - Presentation Slides for Developers
@@ -9,21 +9,25 @@ Web-based slides maker built on Vite, Vue, and Markdown.
9
9
 
10
10
  ## When to Use
11
11
 
12
- - Technical presentations with live code examples
12
+ - Technical presentations or slidedecks with live code examples
13
13
  - Syntax-highlighted code snippets with animations
14
14
  - Interactive demos (Monaco editor, runnable code)
15
15
  - Mathematical equations (LaTeX) or diagrams (Mermaid, PlantUML)
16
16
  - Record presentations with presenter notes
17
17
  - Export to PDF, PPTX, or host as SPA
18
+ - Code walkthroughs for developer talks or workshops
18
19
 
19
20
  ## Quick Start
20
21
 
21
22
  ```bash
22
23
  pnpm create slidev # Create project
23
- pnpm run dev # Start dev server
24
- pnpm run export # Export to PDF
24
+ pnpm run dev # Start dev server (opens http://localhost:3030)
25
+ pnpm run build # Build static SPA
26
+ pnpm run export # Export to PDF (requires playwright-chromium)
25
27
  ```
26
28
 
29
+ **Verify**: After `pnpm run dev`, confirm slides load at `http://localhost:3030`. After `pnpm run export`, check the output PDF exists in the project root.
30
+
27
31
  ## Basic Syntax
28
32
 
29
33
  ```md
@@ -144,6 +148,8 @@ Presenter notes go here
144
148
  | OG image | `seoMeta.ogImage` or `og-image.png` | [build-og-image](references/build-og-image.md) |
145
149
  | SEO tags | `seoMeta:` | [build-seo-meta](references/build-seo-meta.md) |
146
150
 
151
+ **Export prerequisite**: `pnpm add -D playwright-chromium` is required for PDF/PPTX/PNG export. If export fails with a browser error, install this dependency first.
152
+
147
153
  ### Editor & Tools
148
154
 
149
155
  | Feature | Usage | Reference |
@@ -14,11 +14,11 @@ import { onSlideEnter, onSlideLeave, useIsSlideActive } from '@slidev/client'
14
14
 
15
15
  const isActive = useIsSlideActive()
16
16
 
17
- onSlideEnter(() => {
17
+ onSlideEnter((to, from) => {
18
18
  // Called when slide becomes active
19
19
  })
20
20
 
21
- onSlideLeave(() => {
21
+ onSlideLeave((to, from) => {
22
22
  // Called when slide becomes inactive
23
23
  })
24
24
  ```
@@ -113,12 +113,12 @@ const { $page, $clicks, $frontmatter } = useSlideContext()
113
113
  ```ts
114
114
  import { onSlideEnter, onSlideLeave } from '@slidev/client'
115
115
 
116
- onSlideEnter(() => {
116
+ onSlideEnter((to, from) => {
117
117
  // Slide became active
118
118
  startAnimation()
119
119
  })
120
120
 
121
- onSlideLeave(() => {
121
+ onSlideLeave((to, from) => {
122
122
  // Slide became inactive
123
123
  cleanup()
124
124
  })