@slidev/cli 52.11.4 → 52.12.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.
Files changed (61) hide show
  1. package/dist/{build-CoOI8nIf.mjs → build-DencOEqt.mjs} +1 -1
  2. package/dist/cli.mjs +3 -3
  3. package/dist/index.mjs +2 -2
  4. package/dist/{serve-Jnml-HZ7.mjs → serve-BptRm0xv.mjs} +1 -1
  5. package/dist/{shared-C72EYint.mjs → shared-mR4BGOPs.mjs} +36 -11
  6. package/package.json +5 -4
  7. package/skills/GENERATION.md +227 -0
  8. package/skills/slidev/README.md +61 -0
  9. package/skills/slidev/SKILL.md +183 -0
  10. package/skills/slidev/references/animation-click-marker.md +37 -0
  11. package/skills/slidev/references/animation-drawing.md +68 -0
  12. package/skills/slidev/references/animation-rough-marker.md +53 -0
  13. package/skills/slidev/references/api-slide-hooks.md +37 -0
  14. package/skills/slidev/references/build-og-image.md +36 -0
  15. package/skills/slidev/references/build-pdf.md +40 -0
  16. package/skills/slidev/references/build-remote-assets.md +34 -0
  17. package/skills/slidev/references/build-seo-meta.md +43 -0
  18. package/skills/slidev/references/code-groups.md +64 -0
  19. package/skills/slidev/references/code-import-snippet.md +55 -0
  20. package/skills/slidev/references/code-line-highlighting.md +50 -0
  21. package/skills/slidev/references/code-line-numbers.md +46 -0
  22. package/skills/slidev/references/code-magic-move.md +57 -0
  23. package/skills/slidev/references/code-max-height.md +37 -0
  24. package/skills/slidev/references/code-twoslash.md +42 -0
  25. package/skills/slidev/references/core-animations.md +196 -0
  26. package/skills/slidev/references/core-cli.md +140 -0
  27. package/skills/slidev/references/core-components.md +197 -0
  28. package/skills/slidev/references/core-exporting.md +148 -0
  29. package/skills/slidev/references/core-frontmatter.md +195 -0
  30. package/skills/slidev/references/core-global-context.md +155 -0
  31. package/skills/slidev/references/core-headmatter.md +188 -0
  32. package/skills/slidev/references/core-hosting.md +152 -0
  33. package/skills/slidev/references/core-layouts.md +286 -0
  34. package/skills/slidev/references/core-syntax.md +155 -0
  35. package/skills/slidev/references/diagram-latex.md +55 -0
  36. package/skills/slidev/references/diagram-mermaid.md +44 -0
  37. package/skills/slidev/references/diagram-plantuml.md +45 -0
  38. package/skills/slidev/references/editor-monaco-run.md +44 -0
  39. package/skills/slidev/references/editor-monaco-write.md +24 -0
  40. package/skills/slidev/references/editor-monaco.md +50 -0
  41. package/skills/slidev/references/editor-prettier.md +40 -0
  42. package/skills/slidev/references/editor-side.md +23 -0
  43. package/skills/slidev/references/editor-vscode.md +55 -0
  44. package/skills/slidev/references/layout-canvas-size.md +25 -0
  45. package/skills/slidev/references/layout-draggable.md +57 -0
  46. package/skills/slidev/references/layout-global-layers.md +50 -0
  47. package/skills/slidev/references/layout-slots.md +75 -0
  48. package/skills/slidev/references/layout-transform.md +33 -0
  49. package/skills/slidev/references/layout-zoom.md +39 -0
  50. package/skills/slidev/references/presenter-notes-ruby.md +35 -0
  51. package/skills/slidev/references/presenter-recording.md +30 -0
  52. package/skills/slidev/references/presenter-remote.md +40 -0
  53. package/skills/slidev/references/presenter-timer.md +34 -0
  54. package/skills/slidev/references/style-direction.md +34 -0
  55. package/skills/slidev/references/style-icons.md +46 -0
  56. package/skills/slidev/references/style-scoped.md +50 -0
  57. package/skills/slidev/references/syntax-block-frontmatter.md +39 -0
  58. package/skills/slidev/references/syntax-frontmatter-merging.md +49 -0
  59. package/skills/slidev/references/syntax-importing-slides.md +60 -0
  60. package/skills/slidev/references/syntax-mdc.md +51 -0
  61. package/skills/slidev/references/tool-eject-theme.md +27 -0
@@ -1,5 +1,5 @@
1
1
  import "./resolver-B4CxEjJF.mjs";
2
- import { t as resolveViteConfigs } from "./shared-C72EYint.mjs";
2
+ import { t as resolveViteConfigs } from "./shared-mR4BGOPs.mjs";
3
3
  import { join, resolve } from "node:path";
4
4
  import { build as build$1 } from "vite";
5
5
  import { existsSync } from "node:fs";
package/dist/cli.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  import { i as resolveEntry, n as getRoots, r as isInstalledGlobally } from "./resolver-B4CxEjJF.mjs";
2
- import { a as parser, c as resolveAddons, d as updateFrontmatterPatch, i as resolveOptions, l as version, o as getThemeMeta, s as resolveTheme, u as loadSetups } from "./shared-C72EYint.mjs";
3
- import { t as createServer } from "./serve-Jnml-HZ7.mjs";
2
+ import { a as parser, c as resolveAddons, d as updateFrontmatterPatch, i as resolveOptions, l as version, o as getThemeMeta, s as resolveTheme, u as loadSetups } from "./shared-mR4BGOPs.mjs";
3
+ import { t as createServer } from "./serve-BptRm0xv.mjs";
4
4
  import path from "node:path";
5
5
  import process from "node:process";
6
6
  import fs from "node:fs/promises";
@@ -288,7 +288,7 @@ cli.command("build [entry..]", "Build hostable SPA", (args) => exportOptions(com
288
288
  describe: "enable the inspect plugin for debugging"
289
289
  }).strict().help(), async (args) => {
290
290
  const { entry, theme, base, download, out, inspect, "without-notes": withoutNotes } = args;
291
- const { build } = await import("./build-CoOI8nIf.mjs");
291
+ const { build } = await import("./build-DencOEqt.mjs");
292
292
  for (const entryFile of entry) {
293
293
  const options = await resolveOptions({
294
294
  entry: entryFile,
package/dist/index.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  import "./resolver-B4CxEjJF.mjs";
2
- import { a as parser, i as resolveOptions, n as ViteSlidevPlugin, r as createDataUtils } from "./shared-C72EYint.mjs";
3
- import { t as createServer } from "./serve-Jnml-HZ7.mjs";
2
+ import { a as parser, i as resolveOptions, n as ViteSlidevPlugin, r as createDataUtils } from "./shared-mR4BGOPs.mjs";
3
+ import { t as createServer } from "./serve-BptRm0xv.mjs";
4
4
 
5
5
  export { ViteSlidevPlugin, createDataUtils, createServer, parser, resolveOptions };
@@ -1,4 +1,4 @@
1
- import { t as resolveViteConfigs } from "./shared-C72EYint.mjs";
1
+ import { t as resolveViteConfigs } from "./shared-mR4BGOPs.mjs";
2
2
  import { join } from "node:path";
3
3
  import process from "node:process";
4
4
  import { createServer } from "vite";
@@ -505,7 +505,7 @@ function createLayoutWrapperPlugin({ data, utils }) {
505
505
 
506
506
  //#endregion
507
507
  //#region package.json
508
- var version = "52.11.4";
508
+ var version = "52.12.0";
509
509
 
510
510
  //#endregion
511
511
  //#region node/integrations/addons.ts
@@ -550,6 +550,27 @@ async function getThemeMeta(name, root) {
550
550
  function toAttrValue(unsafe) {
551
551
  return JSON.stringify(escapeHtml(String(unsafe)));
552
552
  }
553
+ function collectPreloadImages(data, base) {
554
+ if (data.config.preloadImages === false) return [];
555
+ const seen = /* @__PURE__ */ new Set();
556
+ const links = [];
557
+ const basePrefix = base ? base.replace(/\/$/, "") : "";
558
+ for (const slide of data.slides) {
559
+ const images = slide.images || slide.source?.images;
560
+ if (!images?.length) continue;
561
+ for (const url of images) {
562
+ if (seen.has(url)) continue;
563
+ seen.add(url);
564
+ const href = url.startsWith("http") || url.startsWith("//") ? url : `${basePrefix}${url.startsWith("/") ? url : `/${url}`}`;
565
+ links.push({
566
+ rel: "preload",
567
+ as: "image",
568
+ href
569
+ });
570
+ }
571
+ }
572
+ return links;
573
+ }
553
574
  async function setupIndexHtml({ mode, entry, clientRoot, userRoot, roots, data, base }) {
554
575
  let main = await readFile(join(clientRoot, "index.html"), "utf-8");
555
576
  let body = "";
@@ -589,10 +610,14 @@ async function setupIndexHtml({ mode, entry, clientRoot, userRoot, roots, data,
589
610
  const unhead = createHead({ init: [{
590
611
  htmlAttrs: data.headmatter.lang ? { lang: data.headmatter.lang } : void 0,
591
612
  title,
592
- link: [data.config.favicon ? {
593
- rel: "icon",
594
- href: data.config.favicon
595
- } : null, ...webFontsLink].filter((x) => x),
613
+ link: [
614
+ data.config.favicon ? {
615
+ rel: "icon",
616
+ href: data.config.favicon
617
+ } : null,
618
+ ...webFontsLink,
619
+ ...collectPreloadImages(data, base)
620
+ ].filter((x) => x),
596
621
  meta: [
597
622
  {
598
623
  "http-equiv": "Content-Type",
@@ -1301,12 +1326,12 @@ const templateStyle = {
1301
1326
  return toAtFS(join(clientRoot, name));
1302
1327
  }
1303
1328
  const imports = [
1304
- `import "${resolveUrlOfClient("styles/vars.css")}"`,
1305
- `import "${resolveUrlOfClient("styles/index.css")}"`,
1306
- `import "${resolveUrlOfClient("styles/code.css")}"`,
1307
- `import "${resolveUrlOfClient("styles/katex.css")}"`,
1308
- `import "${resolveUrlOfClient("styles/transitions.css")}"`
1309
- ];
1329
+ "styles/vars.css",
1330
+ "styles/index.css",
1331
+ "styles/code.css",
1332
+ "styles/katex.css",
1333
+ "styles/transitions.css"
1334
+ ].map((path$1) => makeAbsoluteImportGlob(userRoot, [join(clientRoot, path$1)]));
1310
1335
  for (const root of roots) imports.push(makeAbsoluteImportGlob(userRoot, [
1311
1336
  join(root, "styles/index.{ts,js,css}"),
1312
1337
  join(root, "styles.{ts,js,css}"),
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@slidev/cli",
3
3
  "type": "module",
4
- "version": "52.11.4",
4
+ "version": "52.12.0",
5
5
  "description": "Presentation slides for developers",
6
6
  "author": "Anthony Fu <anthonyfu117@hotmail.com>",
7
7
  "license": "MIT",
@@ -28,6 +28,7 @@
28
28
  "files": [
29
29
  "bin",
30
30
  "dist",
31
+ "skills",
31
32
  "template.md"
32
33
  ],
33
34
  "engines": {
@@ -109,9 +110,9 @@
109
110
  "vue": "^3.5.27",
110
111
  "yaml": "^2.8.2",
111
112
  "yargs": "^18.0.0",
112
- "@slidev/parser": "52.11.4",
113
- "@slidev/types": "52.11.4",
114
- "@slidev/client": "52.11.4"
113
+ "@slidev/client": "52.12.0",
114
+ "@slidev/parser": "52.12.0",
115
+ "@slidev/types": "52.12.0"
115
116
  },
116
117
  "devDependencies": {
117
118
  "@hedgedoc/markdown-it-plugins": "^2.1.4",
@@ -0,0 +1,227 @@
1
+ # Skills Generation Information
2
+
3
+ This document contains information about how these skills were generated and how to keep them synchronized with the documentation.
4
+
5
+ ## Generation Details
6
+
7
+ **Generated from documentation at:**
8
+ - **Commit SHA**: `9d30081469cd7ed08586bb8973649a88567cfa25`
9
+ - **Short SHA**: `9d300814`
10
+ - **Date**: 2026-01-13 15:41:28 +0900
11
+ - **Version**: v52.11.3
12
+ - **Commit**: chore: release v52.11.3
13
+
14
+ **Source documentation:**
15
+ - Main docs: `/docs` folder
16
+
17
+ **Generation date**: 2026-01-26
18
+
19
+ ## Structure
20
+
21
+ ```
22
+ skills/
23
+ ├── GENERATION.md # This file
24
+ └── slidev/
25
+ ├── SKILL.md # Table-based reference to all features
26
+ └── references/ # Agent-optimized reference files
27
+ ```
28
+
29
+ ## File Naming Convention
30
+
31
+ Files are prefixed by category:
32
+ - `core-*` - Core documentation (syntax, config, CLI, etc.)
33
+ - `code-*` - Code block features
34
+ - `editor-*` - Editor integrations
35
+ - `diagram-*` - Diagram and math support
36
+ - `layout-*` - Layout and positioning
37
+ - `style-*` - Styling features
38
+ - `animation-*` - Animation features
39
+ - `syntax-*` - Markdown syntax extensions
40
+ - `presenter-*` - Presenter mode features
41
+ - `build-*` - Build and export features
42
+ - `tool-*` - CLI tools
43
+ - `api-*` - API and hooks
44
+
45
+ ## How Skills Were Generated
46
+
47
+ The Slidev skills were created by:
48
+
49
+ 1. **Reading all documentation** from `/docs` folder:
50
+ - `/docs/guide/*.md` - Core guides (syntax, animations, layouts, etc.)
51
+ - `/docs/builtin/*.md` - Built-in features (CLI, components, layouts)
52
+ - `/docs/features/*.md` - Individual features (43 files)
53
+ - `/docs/custom/*.md` - Customization options
54
+
55
+ 2. **Creating table-based SKILL.md**: Main skill file with:
56
+ - Quick start and basic syntax
57
+ - Core references table (syntax, animations, config, CLI, etc.)
58
+ - Feature reference tables by category
59
+ - Links to detailed reference files
60
+
61
+ 3. **Creating core documentation references** (10 files):
62
+ - `core-syntax.md` - Markdown syntax from guide/syntax.md
63
+ - `core-animations.md` - Animation system from guide/animations.md
64
+ - `core-headmatter.md` - Deck config from custom/index.md
65
+ - `core-frontmatter.md` - Per-slide config from custom/index.md
66
+ - `core-cli.md` - CLI commands from builtin/cli.md
67
+ - `core-components.md` - Built-in components from builtin/components.md
68
+ - `core-layouts.md` - Built-in layouts from builtin/layouts.md
69
+ - `core-exporting.md` - Export options from guide/exporting.md
70
+ - `core-hosting.md` - Deployment from guide/hosting.md
71
+ - `core-global-context.md` - Navigation API from guide/global-context.md
72
+
73
+ 4. **Creating feature references** (41 files):
74
+ - Each feature from `/docs/features/` rewritten for agent consumption
75
+ - Concise, actionable format
76
+ - Clear code examples
77
+ - No unnecessary prose
78
+ - Prefixed by category
79
+
80
+ ## Updating Skills (For Future Agents)
81
+
82
+ When Slidev documentation changes, follow these steps to update the skills:
83
+
84
+ ### 1. Check for Documentation Changes
85
+
86
+ ```bash
87
+ # Get changes in docs since generation
88
+ git diff sha_of_last_generation..HEAD -- docs/
89
+
90
+ # List changed files
91
+ git diff --name-only sha_of_last_generation..HEAD -- docs/
92
+
93
+ # Get summary of changes
94
+ git log --oneline sha_of_last_generation..HEAD -- docs/
95
+ ```
96
+
97
+ ### 2. Identify What Changed
98
+
99
+ Focus on these documentation areas:
100
+ - `/docs/guide/` - Core concepts and workflows
101
+ - `/docs/builtin/` - Built-in features (CLI, components, layouts)
102
+ - `/docs/features/` - Individual features
103
+ - `/docs/custom/` - Configuration and customization
104
+
105
+ ### 3. Update Skills
106
+
107
+ **For minor changes** (typos, clarifications, small additions):
108
+ - Update the relevant section in `SKILL.md`
109
+ - Update corresponding file in `references/` if needed
110
+
111
+ **For major changes**:
112
+ - Read the changed documentation files
113
+ - Update `SKILL.md` sections:
114
+ - Add new changes to appropriate sections
115
+ - Update examples if APIs changed
116
+ - Add to "Common Patterns" if applicable
117
+ - Update or add files in `references/`
118
+
119
+ **For new features**:
120
+ - Add documentation file to `references/` with appropriate prefix
121
+ - Do not just copy the file from the docs, rewrite it for agent consumption
122
+ - Add entry in `SKILL.md` with:
123
+ - Brief description in relevant section
124
+ - Code example
125
+ - Best practices if applicable
126
+ - Reference to detailed docs
127
+
128
+ ### 4. Incremental Sync Process
129
+
130
+ ```bash
131
+ # 1. Check what docs changed
132
+ git diff sha_of_last_generation..HEAD -- docs/ > docs_changes.patch
133
+
134
+ # 2. Review the changes
135
+ cat docs_changes.patch
136
+
137
+ # 4. Update references based on changes
138
+
139
+ # 5. Update SKILL.md based on changes
140
+
141
+ # 6. Update this file with new SHA
142
+ git rev-parse HEAD # Get new SHA
143
+ # Update GENERATION.md with new SHA
144
+ ```
145
+
146
+ ### 5. Sync Checklist
147
+
148
+ - [ ] Read diff of docs since last generation
149
+ - [ ] Identify new features added
150
+ - [ ] Identify changed/deprecated features
151
+ - [ ] Update `SKILL.md` with changes:
152
+ - [ ] Add new features to appropriate sections
153
+ - [ ] Update changed examples
154
+ - [ ] Remove deprecated features
155
+ - [ ] Update best practices if needed
156
+ - [ ] Update `references/` folder:
157
+ - [ ] Add new feature docs with category prefix
158
+ - [ ] Update changed feature docs
159
+ - [ ] Remove deprecated feature docs
160
+ - [ ] Update `index.md` if files added/removed
161
+ - [ ] Update this `GENERATION.md` with new SHA
162
+
163
+ ## Maintenance Notes
164
+
165
+ ### Key Sections to Keep Updated
166
+
167
+ 1. **Core Concepts** - Only update for fundamental changes
168
+ 2. **Best Practices** - Update when new patterns emerge
169
+ 3. **Common Patterns** - Add new patterns as documentation shows them
170
+ 4. **Configuration** - Update when new options added
171
+ 5. **Troubleshooting** - Add new issues/solutions as they appear
172
+ 6. **References** - Always keep in sync with `/docs/features/`
173
+
174
+ ### When to Regenerate Completely
175
+
176
+ Consider full regeneration when:
177
+ - Major version update (v1.x → v2.x)
178
+ - Complete documentation restructure
179
+ - Multiple breaking changes
180
+ - More than 30% of docs changed
181
+
182
+ ### Style Guidelines
183
+
184
+ When updating, maintain style:
185
+ - Practical, actionable guidance
186
+ - ✅ Good vs ❌ Bad examples
187
+ - Focus on common use cases
188
+ - Concise explanations
189
+ - Real-world patterns
190
+ - Reference detailed docs for deep dives
191
+
192
+ ## Version History
193
+
194
+ | Date | SHA | Version | Changes |
195
+ |------------|----------|-----------|---------|
196
+ | 2026-01-26 | 9d300814 | v52.11.3 | Initial generation from docs |
197
+
198
+ ## Agent Instructions Summary
199
+
200
+ **For future agents updating these skills:**
201
+
202
+ 1. Run `git diff sha_of_last_generation..HEAD -- docs/` to see all documentation changes
203
+ 2. Read changed files to understand what's new or modified
204
+ 3. Update `SKILL.md` by:
205
+ - Adding new features to appropriate sections
206
+ - Updating examples for changed APIs
207
+ - Removing deprecated features
208
+ - Adding new best practices or patterns
209
+ 4. Sync `references/` folder with `/docs/features/`
210
+ 5. Update this file with new SHA and version
211
+ 6. Test that skill content is accurate and follows style
212
+
213
+ **Remember**: The goal is incremental updates, not complete rewrites. Only change what needs to change based on documentation diffs.
214
+
215
+ ## Questions?
216
+
217
+ If you're unsure about whether changes warrant updates:
218
+ - **Small changes** (typos, clarifications): Optional, can skip
219
+ - **New features**: Must add to skills
220
+ - **Changed APIs**: Must update examples
221
+ - **Deprecated features**: Must remove or mark as deprecated
222
+ - **New best practices**: Should add to relevant sections
223
+
224
+ ---
225
+
226
+ Last updated: 2026-01-26
227
+ Current SHA: 9d300814
@@ -0,0 +1,61 @@
1
+ # Slidev Skills for Claude Code
2
+
3
+ Agent skills that help Claude Code understand and work with [Slidev](https://sli.dev) presentations.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ npx skills add slidevjs/slidev
9
+ ```
10
+
11
+ This will add the Slidev skill to your Claude Code configuration.
12
+
13
+ ## What's Included
14
+
15
+ The Slidev skill provides Claude Code with knowledge about:
16
+
17
+ - **Core Syntax** - Markdown syntax, slide separators, frontmatter
18
+ - **Animations** - Click animations, transitions, motion effects
19
+ - **Code Features** - Line highlighting, Monaco editor, code groups, magic-move
20
+ - **Diagrams** - Mermaid, PlantUML, LaTeX math
21
+ - **Layouts** - Built-in layouts, slots, global layers
22
+ - **Presenter Mode** - Recording, timer, remote access
23
+ - **Exporting** - PDF, PPTX, PNG, SPA hosting
24
+
25
+ ## Usage
26
+
27
+ Once installed, Claude Code will automatically use Slidev knowledge when:
28
+
29
+ - Creating new presentations
30
+ - Adding slides with code examples
31
+ - Setting up animations and transitions
32
+ - Configuring themes and layouts
33
+ - Exporting presentations
34
+
35
+ ### Example Prompts
36
+
37
+ ```
38
+ Create a Slidev presentation about TypeScript generics with code examples
39
+ ```
40
+
41
+ ```
42
+ Add a two-column slide with code on the left and explanation on the right
43
+ ```
44
+
45
+ ```
46
+ Set up click animations to reveal bullet points one by one
47
+ ```
48
+
49
+ ```
50
+ Configure the presentation for PDF export with speaker notes
51
+ ```
52
+
53
+ ## Documentation
54
+
55
+ - [Slidev Documentation](https://sli.dev)
56
+ - [Theme Gallery](https://sli.dev/resources/theme-gallery)
57
+ - [Showcases](https://sli.dev/resources/showcases)
58
+
59
+ ## License
60
+
61
+ MIT
@@ -0,0 +1,183 @@
1
+ ---
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.
4
+ ---
5
+
6
+ # Slidev - Presentation Slides for Developers
7
+
8
+ Web-based slides maker built on Vite, Vue, and Markdown.
9
+
10
+ ## When to Use
11
+
12
+ - Technical presentations with live code examples
13
+ - Syntax-highlighted code snippets with animations
14
+ - Interactive demos (Monaco editor, runnable code)
15
+ - Mathematical equations (LaTeX) or diagrams (Mermaid, PlantUML)
16
+ - Record presentations with presenter notes
17
+ - Export to PDF, PPTX, or host as SPA
18
+
19
+ ## Quick Start
20
+
21
+ ```bash
22
+ pnpm create slidev # Create project
23
+ pnpm run dev # Start dev server
24
+ pnpm run export # Export to PDF
25
+ ```
26
+
27
+ ## Basic Syntax
28
+
29
+ ```md
30
+ ---
31
+ theme: default
32
+ title: My Presentation
33
+ ---
34
+
35
+ # First Slide
36
+
37
+ Content here
38
+
39
+ ---
40
+
41
+ # Second Slide
42
+
43
+ More content
44
+
45
+ <!--
46
+ Presenter notes go here
47
+ -->
48
+ ```
49
+
50
+ - `---` separates slides
51
+ - First frontmatter = headmatter (deck config)
52
+ - HTML comments = presenter notes
53
+
54
+ ## Core References
55
+
56
+ | Topic | Description | Reference |
57
+ |-------|-------------|-----------|
58
+ | Markdown Syntax | Slide separators, frontmatter, notes, code blocks | [core-syntax](references/core-syntax.md) |
59
+ | Animations | v-click, v-clicks, motion, transitions | [core-animations](references/core-animations.md) |
60
+ | Headmatter | Deck-wide configuration options | [core-headmatter](references/core-headmatter.md) |
61
+ | Frontmatter | Per-slide configuration options | [core-frontmatter](references/core-frontmatter.md) |
62
+ | CLI Commands | Dev, build, export, theme commands | [core-cli](references/core-cli.md) |
63
+ | Components | Built-in Vue components | [core-components](references/core-components.md) |
64
+ | Layouts | Built-in slide layouts | [core-layouts](references/core-layouts.md) |
65
+ | Exporting | PDF, PPTX, PNG export options | [core-exporting](references/core-exporting.md) |
66
+ | Hosting | Build and deploy to various platforms | [core-hosting](references/core-hosting.md) |
67
+ | Global Context | $nav, $slidev, composables API | [core-global-context](references/core-global-context.md) |
68
+
69
+ ## Feature Reference
70
+
71
+ ### Code & Editor
72
+
73
+ | Feature | Usage | Reference |
74
+ |---------|-------|-----------|
75
+ | Line highlighting | `` ```ts {2,3} `` | [code-line-highlighting](references/code-line-highlighting.md) |
76
+ | Click-based highlighting | `` ```ts {1\|2-3\|all} `` | [code-line-highlighting](references/code-line-highlighting.md) |
77
+ | Line numbers | `lineNumbers: true` or `{lines:true}` | [code-line-numbers](references/code-line-numbers.md) |
78
+ | Scrollable code | `{maxHeight:'100px'}` | [code-max-height](references/code-max-height.md) |
79
+ | Code tabs | `::code-group` (requires `mdc: true`) | [code-groups](references/code-groups.md) |
80
+ | Monaco editor | `` ```ts {monaco} `` | [editor-monaco](references/editor-monaco.md) |
81
+ | Run code | `` ```ts {monaco-run} `` | [editor-monaco-run](references/editor-monaco-run.md) |
82
+ | Edit files | `<<< ./file.ts {monaco-write}` | [editor-monaco-write](references/editor-monaco-write.md) |
83
+ | Code animations | `` ````md magic-move `` | [code-magic-move](references/code-magic-move.md) |
84
+ | TypeScript types | `` ```ts twoslash `` | [code-twoslash](references/code-twoslash.md) |
85
+ | Import code | `<<< @/snippets/file.js` | [code-import-snippet](references/code-import-snippet.md) |
86
+
87
+ ### Diagrams & Math
88
+
89
+ | Feature | Usage | Reference |
90
+ |---------|-------|-----------|
91
+ | Mermaid diagrams | `` ```mermaid `` | [diagram-mermaid](references/diagram-mermaid.md) |
92
+ | PlantUML diagrams | `` ```plantuml `` | [diagram-plantuml](references/diagram-plantuml.md) |
93
+ | LaTeX math | `$inline$` or `$$block$$` | [diagram-latex](references/diagram-latex.md) |
94
+
95
+ ### Layout & Styling
96
+
97
+ | Feature | Usage | Reference |
98
+ |---------|-------|-----------|
99
+ | Canvas size | `canvasWidth`, `aspectRatio` | [layout-canvas-size](references/layout-canvas-size.md) |
100
+ | Zoom slide | `zoom: 0.8` | [layout-zoom](references/layout-zoom.md) |
101
+ | Scale elements | `<Transform :scale="0.5">` | [layout-transform](references/layout-transform.md) |
102
+ | Layout slots | `::right::`, `::default::` | [layout-slots](references/layout-slots.md) |
103
+ | Scoped CSS | `<style>` in slide | [style-scoped](references/style-scoped.md) |
104
+ | Global layers | `global-top.vue`, `global-bottom.vue` | [layout-global-layers](references/layout-global-layers.md) |
105
+ | Draggable elements | `v-drag`, `<v-drag>` | [layout-draggable](references/layout-draggable.md) |
106
+ | Icons | `<mdi-icon-name />` | [style-icons](references/style-icons.md) |
107
+
108
+ ### Animation & Interaction
109
+
110
+ | Feature | Usage | Reference |
111
+ |---------|-------|-----------|
112
+ | Click animations | `v-click`, `<v-clicks>` | [core-animations](references/core-animations.md) |
113
+ | Rough markers | `v-mark.underline`, `v-mark.circle` | [animation-rough-marker](references/animation-rough-marker.md) |
114
+ | Drawing mode | Press `C` or config `drawings:` | [animation-drawing](references/animation-drawing.md) |
115
+ | Direction styles | `forward:delay-300` | [style-direction](references/style-direction.md) |
116
+ | Note highlighting | `[click]` in notes | [animation-click-marker](references/animation-click-marker.md) |
117
+
118
+ ### Syntax Extensions
119
+
120
+ | Feature | Usage | Reference |
121
+ |---------|-------|-----------|
122
+ | MDC syntax | `mdc: true` + `{style="color:red"}` | [syntax-mdc](references/syntax-mdc.md) |
123
+ | Block frontmatter | `` ```yaml `` instead of `---` | [syntax-block-frontmatter](references/syntax-block-frontmatter.md) |
124
+ | Import slides | `src: ./other.md` | [syntax-importing-slides](references/syntax-importing-slides.md) |
125
+ | Merge frontmatter | Main entry wins | [syntax-frontmatter-merging](references/syntax-frontmatter-merging.md) |
126
+
127
+ ### Presenter & Recording
128
+
129
+ | Feature | Usage | Reference |
130
+ |---------|-------|-----------|
131
+ | Recording | Press `G` for camera | [presenter-recording](references/presenter-recording.md) |
132
+ | Timer | `duration: 30min`, `timer: countdown` | [presenter-timer](references/presenter-timer.md) |
133
+ | Remote control | `slidev --remote` | [presenter-remote](references/presenter-remote.md) |
134
+ | Ruby text | `notesAutoRuby:` | [presenter-notes-ruby](references/presenter-notes-ruby.md) |
135
+
136
+ ### Export & Build
137
+
138
+ | Feature | Usage | Reference |
139
+ |---------|-------|-----------|
140
+ | Export options | `slidev export` | [core-exporting](references/core-exporting.md) |
141
+ | Build & deploy | `slidev build` | [core-hosting](references/core-hosting.md) |
142
+ | Build with PDF | `download: true` | [build-pdf](references/build-pdf.md) |
143
+ | Cache images | Automatic for remote URLs | [build-remote-assets](references/build-remote-assets.md) |
144
+ | OG image | `seoMeta.ogImage` or `og-image.png` | [build-og-image](references/build-og-image.md) |
145
+ | SEO tags | `seoMeta:` | [build-seo-meta](references/build-seo-meta.md) |
146
+
147
+ ### Editor & Tools
148
+
149
+ | Feature | Usage | Reference |
150
+ |---------|-------|-----------|
151
+ | Side editor | Click edit icon | [editor-side](references/editor-side.md) |
152
+ | VS Code extension | Install `antfu.slidev` | [editor-vscode](references/editor-vscode.md) |
153
+ | Prettier | `prettier-plugin-slidev` | [editor-prettier](references/editor-prettier.md) |
154
+ | Eject theme | `slidev theme eject` | [tool-eject-theme](references/tool-eject-theme.md) |
155
+
156
+ ### Lifecycle & API
157
+
158
+ | Feature | Usage | Reference |
159
+ |---------|-------|-----------|
160
+ | Slide hooks | `onSlideEnter()`, `onSlideLeave()` | [api-slide-hooks](references/api-slide-hooks.md) |
161
+ | Navigation API | `$nav`, `useNav()` | [core-global-context](references/core-global-context.md) |
162
+
163
+ ## Common Layouts
164
+
165
+ | Layout | Purpose |
166
+ |--------|---------|
167
+ | `cover` | Title/cover slide |
168
+ | `center` | Centered content |
169
+ | `default` | Standard slide |
170
+ | `two-cols` | Two columns (use `::right::`) |
171
+ | `two-cols-header` | Header + two columns |
172
+ | `image` / `image-left` / `image-right` | Image layouts |
173
+ | `iframe` / `iframe-left` / `iframe-right` | Embed URLs |
174
+ | `quote` | Quotation |
175
+ | `section` | Section divider |
176
+ | `fact` / `statement` | Data/statement display |
177
+ | `intro` / `end` | Intro/end slides |
178
+
179
+ ## Resources
180
+
181
+ - Documentation: https://sli.dev
182
+ - Theme Gallery: https://sli.dev/resources/theme-gallery
183
+ - Showcases: https://sli.dev/resources/showcases
@@ -0,0 +1,37 @@
1
+ ---
2
+ name: click-marker
3
+ description: Highlight and auto-scroll presenter notes based on click progress
4
+ ---
5
+
6
+ # Click Markers
7
+
8
+ Highlight and auto-scroll presenter notes based on click progress.
9
+
10
+ ## Syntax
11
+
12
+ Add `[click]` markers in presenter notes:
13
+
14
+ ```md
15
+ <!--
16
+ Content before the first click
17
+
18
+ [click] This will be highlighted after the first click
19
+
20
+ Also highlighted after the first click
21
+
22
+ - [click] This list element highlights after the second click
23
+
24
+ [click:3] Last click (skip two clicks)
25
+ -->
26
+ ```
27
+
28
+ ## Behavior
29
+
30
+ - Notes between markers highlight in sync with slide progress
31
+ - Auto-scrolls presenter view to active section
32
+ - Use `[click:{n}]` to skip to specific click number
33
+
34
+ ## Requirements
35
+
36
+ - Only works in presenter mode
37
+ - Notes must be HTML comments at end of slide