@slidev/cli 52.11.3 → 52.11.5
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-CBdhBv4d.mjs → build-DnSiH_hX.mjs} +1 -1
- package/dist/cli.mjs +3 -6
- package/dist/index.mjs +2 -2
- package/dist/{serve-jpCd8QH_.mjs → serve-imvXJyRN.mjs} +1 -1
- package/dist/{shared-Ba3UGXDn.mjs → shared-DHY1ulq4.mjs} +1 -1
- package/package.json +17 -16
- 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
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: prettier-plugin
|
|
3
|
+
description: Format Slidev markdown files correctly
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Prettier Plugin
|
|
7
|
+
|
|
8
|
+
Format Slidev markdown files correctly.
|
|
9
|
+
|
|
10
|
+
## Installation
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
pnpm i -D prettier prettier-plugin-slidev
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## Configuration
|
|
17
|
+
|
|
18
|
+
Create/modify `.prettierrc`:
|
|
19
|
+
|
|
20
|
+
```json
|
|
21
|
+
{
|
|
22
|
+
"overrides": [
|
|
23
|
+
{
|
|
24
|
+
"files": ["slides.md", "pages/*.md"],
|
|
25
|
+
"options": {
|
|
26
|
+
"parser": "slidev",
|
|
27
|
+
"plugins": ["prettier-plugin-slidev"]
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
]
|
|
31
|
+
}
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## Why Needed
|
|
35
|
+
|
|
36
|
+
Slidev's syntax (frontmatter, code blocks) may conflict with default Markdown formatting. This plugin understands Slidev-specific syntax.
|
|
37
|
+
|
|
38
|
+
## Note
|
|
39
|
+
|
|
40
|
+
Must specify files via `overrides` since Slidev and regular Markdown share `.md` extension.
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: side-editor
|
|
3
|
+
description: Edit slides source alongside the presentation
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Integrated Editor
|
|
7
|
+
|
|
8
|
+
Edit slides source alongside the presentation.
|
|
9
|
+
|
|
10
|
+
## Open Editor
|
|
11
|
+
|
|
12
|
+
Click the edit icon in the navigation panel.
|
|
13
|
+
|
|
14
|
+
## Features
|
|
15
|
+
|
|
16
|
+
- Live reload on changes
|
|
17
|
+
- Auto-save to file
|
|
18
|
+
- Side-by-side editing
|
|
19
|
+
- Syntax highlighting
|
|
20
|
+
|
|
21
|
+
## Use Case
|
|
22
|
+
|
|
23
|
+
Make quick edits during presentation preparation without switching applications.
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: vscode-extension
|
|
3
|
+
description: Manage slides visually in VS Code
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# VS Code Extension
|
|
7
|
+
|
|
8
|
+
Manage slides visually in VS Code.
|
|
9
|
+
|
|
10
|
+
## Installation
|
|
11
|
+
|
|
12
|
+
Install from VS Code Marketplace: `antfu.slidev`
|
|
13
|
+
|
|
14
|
+
## Features
|
|
15
|
+
|
|
16
|
+
- Preview slides in side panel
|
|
17
|
+
- Slides tree view
|
|
18
|
+
- Drag and drop to reorder slides
|
|
19
|
+
- Folding for slide blocks
|
|
20
|
+
- Multiple project support
|
|
21
|
+
- One-click dev server start
|
|
22
|
+
|
|
23
|
+
## Usage
|
|
24
|
+
|
|
25
|
+
1. Click `Slidev` icon in activity bar
|
|
26
|
+
2. Projects tree shows all Slidev projects in workspace
|
|
27
|
+
3. Slides tree shows slides in active project
|
|
28
|
+
4. Preview panel shows live preview
|
|
29
|
+
|
|
30
|
+
## Commands
|
|
31
|
+
|
|
32
|
+
Type `Slidev` in command palette to see available commands.
|
|
33
|
+
|
|
34
|
+
## Configuration
|
|
35
|
+
|
|
36
|
+
Include specific files as Slidev entries:
|
|
37
|
+
|
|
38
|
+
```json
|
|
39
|
+
{
|
|
40
|
+
"slidev.include": ["**/presentation.md"]
|
|
41
|
+
}
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
Custom dev command:
|
|
45
|
+
|
|
46
|
+
```json
|
|
47
|
+
{
|
|
48
|
+
"slidev.dev-command": "pnpm slidev ${args}"
|
|
49
|
+
}
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## Placeholders
|
|
53
|
+
|
|
54
|
+
- `${args}` - All CLI arguments
|
|
55
|
+
- `${port}` - Port number
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: canvas-size
|
|
3
|
+
description: Configure slide canvas dimensions and aspect ratio
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Slide Canvas Size
|
|
7
|
+
|
|
8
|
+
Set the canvas dimensions for all slides.
|
|
9
|
+
|
|
10
|
+
## Configuration
|
|
11
|
+
|
|
12
|
+
```md
|
|
13
|
+
---
|
|
14
|
+
aspectRatio: 16/9
|
|
15
|
+
canvasWidth: 980
|
|
16
|
+
---
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
- `aspectRatio`: Ratio of width to height (default: `16/9`)
|
|
20
|
+
- `canvasWidth`: Canvas width in pixels (default: `980`)
|
|
21
|
+
|
|
22
|
+
## Related Features
|
|
23
|
+
|
|
24
|
+
- Scale individual slides: use `zoom` frontmatter option
|
|
25
|
+
- Scale elements: use `<Transform>` component
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: draggable-elements
|
|
3
|
+
description: Move, resize, and rotate elements by dragging during presentation
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Draggable Elements
|
|
7
|
+
|
|
8
|
+
Move, resize, and rotate elements by dragging during presentation.
|
|
9
|
+
|
|
10
|
+
## Directive Usage
|
|
11
|
+
|
|
12
|
+
### With Frontmatter Position
|
|
13
|
+
|
|
14
|
+
```md
|
|
15
|
+
---
|
|
16
|
+
dragPos:
|
|
17
|
+
square: Left,Top,Width,Height,Rotate
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
<img v-drag="'square'" src="https://sli.dev/logo.png">
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
### Inline Position
|
|
24
|
+
|
|
25
|
+
```md
|
|
26
|
+
<img v-drag="[Left,Top,Width,Height,Rotate]" src="https://sli.dev/logo.png">
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Component Usage
|
|
30
|
+
|
|
31
|
+
```md
|
|
32
|
+
---
|
|
33
|
+
dragPos:
|
|
34
|
+
foo: Left,Top,Width,Height,Rotate
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
<v-drag pos="foo" text-3xl>
|
|
38
|
+
Draggable content
|
|
39
|
+
</v-drag>
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Draggable Arrow
|
|
43
|
+
|
|
44
|
+
```md
|
|
45
|
+
<v-drag-arrow />
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## Controls
|
|
49
|
+
|
|
50
|
+
- Double-click: Start dragging
|
|
51
|
+
- Arrow keys: Move element
|
|
52
|
+
- Shift + drag: Preserve aspect ratio
|
|
53
|
+
- Click outside: Stop dragging
|
|
54
|
+
|
|
55
|
+
## Auto Height
|
|
56
|
+
|
|
57
|
+
Set Height to `NaN` or `_` for auto height based on content.
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: global-layers
|
|
3
|
+
description: Create components that persist across slides like footers and backgrounds
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Global Layers
|
|
7
|
+
|
|
8
|
+
Create components that persist across slides.
|
|
9
|
+
|
|
10
|
+
## Layer Files
|
|
11
|
+
|
|
12
|
+
Create in project root:
|
|
13
|
+
- `global-top.vue` - Above all slides (single instance)
|
|
14
|
+
- `global-bottom.vue` - Below all slides (single instance)
|
|
15
|
+
- `slide-top.vue` - Above each slide (per-slide instance)
|
|
16
|
+
- `slide-bottom.vue` - Below each slide (per-slide instance)
|
|
17
|
+
- `custom-nav-controls.vue` - Custom navigation controls
|
|
18
|
+
|
|
19
|
+
## Z-Order (top to bottom)
|
|
20
|
+
|
|
21
|
+
1. NavControls / custom-nav-controls.vue
|
|
22
|
+
2. global-top.vue
|
|
23
|
+
3. slide-top.vue
|
|
24
|
+
4. Slide Content
|
|
25
|
+
5. slide-bottom.vue
|
|
26
|
+
6. global-bottom.vue
|
|
27
|
+
|
|
28
|
+
## Example: Footer
|
|
29
|
+
|
|
30
|
+
```html
|
|
31
|
+
<!-- global-bottom.vue -->
|
|
32
|
+
<template>
|
|
33
|
+
<footer class="absolute bottom-0 left-0 right-0 p-2">Your Name</footer>
|
|
34
|
+
</template>
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## Conditional Rendering
|
|
38
|
+
|
|
39
|
+
```html
|
|
40
|
+
<!-- Hide on cover layout -->
|
|
41
|
+
<template>
|
|
42
|
+
<footer v-if="$nav.currentLayout !== 'cover'" class="absolute bottom-0 p-2">
|
|
43
|
+
{{ $nav.currentPage }} / {{ $nav.total }}
|
|
44
|
+
</footer>
|
|
45
|
+
</template>
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## Export Note
|
|
49
|
+
|
|
50
|
+
Use `--per-slide` export option when global layers depend on navigation state.
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: slot-sugar
|
|
3
|
+
description: Shorthand syntax for layout named slots in multi-column layouts
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Slot Sugar for Layouts
|
|
7
|
+
|
|
8
|
+
Shorthand syntax for layout named slots.
|
|
9
|
+
|
|
10
|
+
## Standard Vue Slot Syntax
|
|
11
|
+
|
|
12
|
+
```md
|
|
13
|
+
---
|
|
14
|
+
layout: two-cols
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
<template v-slot:default>
|
|
18
|
+
|
|
19
|
+
# Left
|
|
20
|
+
|
|
21
|
+
This shows on the left
|
|
22
|
+
|
|
23
|
+
</template>
|
|
24
|
+
<template v-slot:right>
|
|
25
|
+
|
|
26
|
+
# Right
|
|
27
|
+
|
|
28
|
+
This shows on the right
|
|
29
|
+
|
|
30
|
+
</template>
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Shorthand Syntax
|
|
34
|
+
|
|
35
|
+
```md
|
|
36
|
+
---
|
|
37
|
+
layout: two-cols
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
# Left
|
|
41
|
+
|
|
42
|
+
This shows on the left
|
|
43
|
+
|
|
44
|
+
::right::
|
|
45
|
+
|
|
46
|
+
# Right
|
|
47
|
+
|
|
48
|
+
This shows on the right
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## Explicit Default Slot
|
|
52
|
+
|
|
53
|
+
```md
|
|
54
|
+
---
|
|
55
|
+
layout: two-cols
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
::right::
|
|
59
|
+
|
|
60
|
+
# Right
|
|
61
|
+
|
|
62
|
+
This shows on the right
|
|
63
|
+
|
|
64
|
+
::default::
|
|
65
|
+
|
|
66
|
+
# Left
|
|
67
|
+
|
|
68
|
+
This shows on the left
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
## Common Layouts with Slots
|
|
72
|
+
|
|
73
|
+
- `two-cols`: `default` (left) and `right`
|
|
74
|
+
- `two-cols-header`: `default`, `left`, `right`
|
|
75
|
+
- `image-left/right`: `default` for content
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: transform-component
|
|
3
|
+
description: Scale elements without affecting slide layout using the Transform component
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Transform Component
|
|
7
|
+
|
|
8
|
+
Scale elements without affecting slide layout.
|
|
9
|
+
|
|
10
|
+
## Usage
|
|
11
|
+
|
|
12
|
+
```md
|
|
13
|
+
<Transform :scale="0.5" origin="top center">
|
|
14
|
+
<YourElements />
|
|
15
|
+
</Transform>
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Props
|
|
19
|
+
|
|
20
|
+
- `scale`: Scale factor (0.5 = 50%, 2 = 200%)
|
|
21
|
+
- `origin`: Transform origin (CSS transform-origin value)
|
|
22
|
+
|
|
23
|
+
## Use Cases
|
|
24
|
+
|
|
25
|
+
- Shrink large diagrams
|
|
26
|
+
- Scale code blocks
|
|
27
|
+
- Fit oversized content
|
|
28
|
+
- Create emphasis effects
|
|
29
|
+
|
|
30
|
+
## Related Features
|
|
31
|
+
|
|
32
|
+
- Scale all slides: Use `canvasWidth` / `aspectRatio` in headmatter
|
|
33
|
+
- Scale individual slides: Use `zoom` frontmatter option
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: zoom-slides
|
|
3
|
+
description: Scale individual slide content using the zoom frontmatter option
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Zoom Slides
|
|
7
|
+
|
|
8
|
+
Scale individual slide content.
|
|
9
|
+
|
|
10
|
+
## Usage
|
|
11
|
+
|
|
12
|
+
```md
|
|
13
|
+
---
|
|
14
|
+
zoom: 0.8
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
# A Slide with lots of content
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
# Other slides aren't affected
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## Values
|
|
25
|
+
|
|
26
|
+
- `zoom: 0.8` - 80% size (fits more content)
|
|
27
|
+
- `zoom: 1.2` - 120% size (larger, less content)
|
|
28
|
+
- `zoom: 1` - Normal (default)
|
|
29
|
+
|
|
30
|
+
## Use Cases
|
|
31
|
+
|
|
32
|
+
- Fit dense content on one slide
|
|
33
|
+
- Make text more readable
|
|
34
|
+
- Adjust for different content densities
|
|
35
|
+
|
|
36
|
+
## Related Features
|
|
37
|
+
|
|
38
|
+
- Scale all slides: Use `canvasWidth` / `aspectRatio` in headmatter
|
|
39
|
+
- Scale elements: Use `<Transform>` component
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: notes-auto-ruby
|
|
3
|
+
description: Automatically add ruby text (pronunciation guides) to presenter notes
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Notes Auto Ruby
|
|
7
|
+
|
|
8
|
+
Automatically add ruby text (pronunciation guides) to presenter notes.
|
|
9
|
+
|
|
10
|
+
## Configuration
|
|
11
|
+
|
|
12
|
+
```md
|
|
13
|
+
---
|
|
14
|
+
notesAutoRuby:
|
|
15
|
+
日本語: ni hon go
|
|
16
|
+
勉強: べんきょう
|
|
17
|
+
---
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Example
|
|
21
|
+
|
|
22
|
+
Notes:
|
|
23
|
+
```md
|
|
24
|
+
<!--
|
|
25
|
+
私は日本語を勉強しています。
|
|
26
|
+
-->
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
Renders with ruby annotations above the matched words.
|
|
30
|
+
|
|
31
|
+
## Use Case
|
|
32
|
+
|
|
33
|
+
- Language learning presentations
|
|
34
|
+
- Pronunciation guides for technical terms
|
|
35
|
+
- Reading assistance for non-native text
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: recording
|
|
3
|
+
description: Record presentations with camera and screen capture
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Recording
|
|
7
|
+
|
|
8
|
+
Record presentations with built-in camera and screen capture.
|
|
9
|
+
|
|
10
|
+
## Camera View
|
|
11
|
+
|
|
12
|
+
Click the camera icon in navigation bar to show camera overlay.
|
|
13
|
+
|
|
14
|
+
- Drag to move
|
|
15
|
+
- Resize from bottom-right corner
|
|
16
|
+
- Position persists across reloads
|
|
17
|
+
|
|
18
|
+
## Start Recording
|
|
19
|
+
|
|
20
|
+
Click the video icon in navigation bar.
|
|
21
|
+
|
|
22
|
+
Options:
|
|
23
|
+
- Camera embedded in slides
|
|
24
|
+
- Separate video files for camera and slides
|
|
25
|
+
|
|
26
|
+
Saves as WebM video.
|
|
27
|
+
|
|
28
|
+
## Technology
|
|
29
|
+
|
|
30
|
+
Powered by RecordRTC and WebRTC API.
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: remote-access
|
|
3
|
+
description: Share presentation across network or internet
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Remote Access
|
|
7
|
+
|
|
8
|
+
Share presentation across network or internet.
|
|
9
|
+
|
|
10
|
+
## Enable Remote Access
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
slidev --remote
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## Password Protection
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
slidev --remote=your_password
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
Password required for presenter mode access.
|
|
23
|
+
|
|
24
|
+
## Remote Tunnel
|
|
25
|
+
|
|
26
|
+
Expose to internet via Cloudflare Quick Tunnels:
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
slidev --remote --tunnel
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
Creates public URL for sharing without server setup.
|
|
33
|
+
|
|
34
|
+
## Use Cases
|
|
35
|
+
|
|
36
|
+
- Control presentation from phone/tablet
|
|
37
|
+
- Multiple presenters
|
|
38
|
+
- Remote presentations
|
|
39
|
+
- Live streaming
|
|
40
|
+
- Audience viewing on their devices
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: presenter-timer
|
|
3
|
+
description: Timer and progress bar in presenter mode
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Presenter Timer
|
|
7
|
+
|
|
8
|
+
Timer and progress bar in presenter mode.
|
|
9
|
+
|
|
10
|
+
## Configuration
|
|
11
|
+
|
|
12
|
+
```yaml
|
|
13
|
+
---
|
|
14
|
+
duration: 30min
|
|
15
|
+
timer: stopwatch
|
|
16
|
+
---
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Options
|
|
20
|
+
|
|
21
|
+
- `duration`: Presentation length (default: `30min`)
|
|
22
|
+
- `timer`: Mode - `stopwatch` or `countdown` (default: `stopwatch`)
|
|
23
|
+
|
|
24
|
+
## Features
|
|
25
|
+
|
|
26
|
+
- Start, pause, reset controls
|
|
27
|
+
- Progress bar showing time elapsed/remaining
|
|
28
|
+
- Visible only in presenter mode
|
|
29
|
+
|
|
30
|
+
## Duration Format
|
|
31
|
+
|
|
32
|
+
- `30min` - 30 minutes
|
|
33
|
+
- `1h` - 1 hour
|
|
34
|
+
- `45min` - 45 minutes
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: direction
|
|
3
|
+
description: Navigation direction-based styling
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Navigation Direction Variants
|
|
7
|
+
|
|
8
|
+
Apply different styles based on navigation direction (forward/backward).
|
|
9
|
+
|
|
10
|
+
## CSS Classes
|
|
11
|
+
|
|
12
|
+
```css
|
|
13
|
+
/* Delay only when navigating forward */
|
|
14
|
+
.slidev-nav-go-forward .slidev-vclick-target {
|
|
15
|
+
transition-delay: 500ms;
|
|
16
|
+
}
|
|
17
|
+
.slidev-nav-go-backward .slidev-vclick-target {
|
|
18
|
+
transition-delay: 0;
|
|
19
|
+
}
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## UnoCSS Variants
|
|
23
|
+
|
|
24
|
+
Use `forward:` or `backward:` prefix:
|
|
25
|
+
|
|
26
|
+
```html
|
|
27
|
+
<div v-click class="transition forward:delay-300">Element</div>
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
Animation is only delayed when navigating forward, not when going back.
|
|
31
|
+
|
|
32
|
+
## Use Case
|
|
33
|
+
|
|
34
|
+
Create asymmetric animations where entering a slide feels different from leaving it.
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: icons
|
|
3
|
+
description: Using open-source icons in slides
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Icons
|
|
7
|
+
|
|
8
|
+
Use any open-source icon directly in markdown. Powered by unplugin-icons and Iconify.
|
|
9
|
+
|
|
10
|
+
## Installation
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
pnpm add @iconify-json/[collection-name]
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## Usage
|
|
17
|
+
|
|
18
|
+
Use component syntax `<collection-icon-name />`:
|
|
19
|
+
|
|
20
|
+
```md
|
|
21
|
+
<mdi-account-circle />
|
|
22
|
+
<carbon-badge />
|
|
23
|
+
<uim-rocket />
|
|
24
|
+
<logos-vue />
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## Popular Collections
|
|
28
|
+
|
|
29
|
+
- `@iconify-json/mdi` - Material Design Icons
|
|
30
|
+
- `@iconify-json/carbon` - Carbon Design
|
|
31
|
+
- `@iconify-json/logos` - SVG Logos
|
|
32
|
+
- `@iconify-json/twemoji` - Twitter Emoji
|
|
33
|
+
|
|
34
|
+
## Styling
|
|
35
|
+
|
|
36
|
+
Style like any HTML element:
|
|
37
|
+
|
|
38
|
+
```html
|
|
39
|
+
<uim-rocket class="text-3xl text-red-400 mx-2" />
|
|
40
|
+
<uim-rocket class="text-3xl text-orange-400 animate-ping" />
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## Browse Icons
|
|
44
|
+
|
|
45
|
+
- https://icones.js.org/
|
|
46
|
+
- https://icon-sets.iconify.design/
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: scoped
|
|
3
|
+
description: Slide-scoped CSS styles
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Slide Scope Styles
|
|
7
|
+
|
|
8
|
+
Define CSS that applies only to the current slide.
|
|
9
|
+
|
|
10
|
+
## Usage
|
|
11
|
+
|
|
12
|
+
```md
|
|
13
|
+
# This is Red
|
|
14
|
+
|
|
15
|
+
<style>
|
|
16
|
+
h1 {
|
|
17
|
+
color: red;
|
|
18
|
+
}
|
|
19
|
+
</style>
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
# Other slides are not affected
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Scoped by Default
|
|
27
|
+
|
|
28
|
+
All `<style>` tags in slides are automatically scoped.
|
|
29
|
+
|
|
30
|
+
Child combinators (`.a > .b`) don't work as expected due to scoping.
|
|
31
|
+
|
|
32
|
+
## Nested CSS with UnoCSS
|
|
33
|
+
|
|
34
|
+
```md
|
|
35
|
+
# Slidev
|
|
36
|
+
|
|
37
|
+
> Hello **world**
|
|
38
|
+
|
|
39
|
+
<style>
|
|
40
|
+
blockquote {
|
|
41
|
+
strong {
|
|
42
|
+
--uno: 'text-teal-500 dark:text-teal-400';
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
</style>
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## Global Styles
|
|
49
|
+
|
|
50
|
+
For global styles, use `styles/index.css` in your project.
|