@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.
- package/dist/{build-CoOI8nIf.mjs → build-DencOEqt.mjs} +1 -1
- package/dist/cli.mjs +3 -3
- package/dist/index.mjs +2 -2
- package/dist/{serve-Jnml-HZ7.mjs → serve-BptRm0xv.mjs} +1 -1
- package/dist/{shared-C72EYint.mjs → shared-mR4BGOPs.mjs} +36 -11
- package/package.json +5 -4
- package/skills/GENERATION.md +227 -0
- package/skills/slidev/README.md +61 -0
- package/skills/slidev/SKILL.md +183 -0
- package/skills/slidev/references/animation-click-marker.md +37 -0
- package/skills/slidev/references/animation-drawing.md +68 -0
- package/skills/slidev/references/animation-rough-marker.md +53 -0
- package/skills/slidev/references/api-slide-hooks.md +37 -0
- package/skills/slidev/references/build-og-image.md +36 -0
- package/skills/slidev/references/build-pdf.md +40 -0
- package/skills/slidev/references/build-remote-assets.md +34 -0
- package/skills/slidev/references/build-seo-meta.md +43 -0
- package/skills/slidev/references/code-groups.md +64 -0
- package/skills/slidev/references/code-import-snippet.md +55 -0
- package/skills/slidev/references/code-line-highlighting.md +50 -0
- package/skills/slidev/references/code-line-numbers.md +46 -0
- package/skills/slidev/references/code-magic-move.md +57 -0
- package/skills/slidev/references/code-max-height.md +37 -0
- package/skills/slidev/references/code-twoslash.md +42 -0
- package/skills/slidev/references/core-animations.md +196 -0
- package/skills/slidev/references/core-cli.md +140 -0
- package/skills/slidev/references/core-components.md +197 -0
- package/skills/slidev/references/core-exporting.md +148 -0
- package/skills/slidev/references/core-frontmatter.md +195 -0
- package/skills/slidev/references/core-global-context.md +155 -0
- package/skills/slidev/references/core-headmatter.md +188 -0
- package/skills/slidev/references/core-hosting.md +152 -0
- package/skills/slidev/references/core-layouts.md +286 -0
- package/skills/slidev/references/core-syntax.md +155 -0
- package/skills/slidev/references/diagram-latex.md +55 -0
- package/skills/slidev/references/diagram-mermaid.md +44 -0
- package/skills/slidev/references/diagram-plantuml.md +45 -0
- package/skills/slidev/references/editor-monaco-run.md +44 -0
- package/skills/slidev/references/editor-monaco-write.md +24 -0
- package/skills/slidev/references/editor-monaco.md +50 -0
- package/skills/slidev/references/editor-prettier.md +40 -0
- package/skills/slidev/references/editor-side.md +23 -0
- package/skills/slidev/references/editor-vscode.md +55 -0
- package/skills/slidev/references/layout-canvas-size.md +25 -0
- package/skills/slidev/references/layout-draggable.md +57 -0
- package/skills/slidev/references/layout-global-layers.md +50 -0
- package/skills/slidev/references/layout-slots.md +75 -0
- package/skills/slidev/references/layout-transform.md +33 -0
- package/skills/slidev/references/layout-zoom.md +39 -0
- package/skills/slidev/references/presenter-notes-ruby.md +35 -0
- package/skills/slidev/references/presenter-recording.md +30 -0
- package/skills/slidev/references/presenter-remote.md +40 -0
- package/skills/slidev/references/presenter-timer.md +34 -0
- package/skills/slidev/references/style-direction.md +34 -0
- package/skills/slidev/references/style-icons.md +46 -0
- package/skills/slidev/references/style-scoped.md +50 -0
- package/skills/slidev/references/syntax-block-frontmatter.md +39 -0
- package/skills/slidev/references/syntax-frontmatter-merging.md +49 -0
- package/skills/slidev/references/syntax-importing-slides.md +60 -0
- package/skills/slidev/references/syntax-mdc.md +51 -0
- 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-
|
|
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-
|
|
3
|
-
import { t as createServer } from "./serve-
|
|
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-
|
|
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-
|
|
3
|
-
import { t as createServer } from "./serve-
|
|
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 };
|
|
@@ -505,7 +505,7 @@ function createLayoutWrapperPlugin({ data, utils }) {
|
|
|
505
505
|
|
|
506
506
|
//#endregion
|
|
507
507
|
//#region package.json
|
|
508
|
-
var version = "52.
|
|
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: [
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
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
|
-
|
|
1305
|
-
|
|
1306
|
-
|
|
1307
|
-
|
|
1308
|
-
|
|
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.
|
|
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/
|
|
113
|
-
"@slidev/
|
|
114
|
-
"@slidev/
|
|
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
|