or `$block$`\n\n[diagram-latex](https://github.com/antfu/skills/blob/main/skills/slidev/references/diagram-latex.md)\n\n### Layout & Styling\n\nFeature\n\nUsage\n\nReference\n\nCanvas size\n\n`canvasWidth`, `aspectRatio`\n\n[layout-canvas-size](https://github.com/antfu/skills/blob/main/skills/slidev/references/layout-canvas-size.md)\n\nZoom slide\n\n`zoom: 0.8`\n\n[layout-zoom](https://github.com/antfu/skills/blob/main/skills/slidev/references/layout-zoom.md)\n\nScale elements\n\n`\u003cTransform :scale=\"0.5\">`\n\n[layout-transform](https://github.com/antfu/skills/blob/main/skills/slidev/references/layout-transform.md)\n\nLayout slots\n\n`::right::`, `::default::`\n\n[layout-slots](https://github.com/antfu/skills/blob/main/skills/slidev/references/layout-slots.md)\n\nScoped CSS\n\n`\u003cstyle>` in slide\n\n[style-scoped](https://github.com/antfu/skills/blob/main/skills/slidev/references/style-scoped.md)\n\nGlobal layers\n\n`global-top.vue`, `global-bottom.vue`\n\n[layout-global-layers](https://github.com/antfu/skills/blob/main/skills/slidev/references/layout-global-layers.md)\n\nDraggable elements\n\n`v-drag`, `\u003cv-drag>`\n\n[layout-draggable](https://github.com/antfu/skills/blob/main/skills/slidev/references/layout-draggable.md)\n\nIcons\n\n`\u003cmdi-icon-name />`\n\n[style-icons](https://github.com/antfu/skills/blob/main/skills/slidev/references/style-icons.md)\n\n### Animation & Interaction\n\nFeature\n\nUsage\n\nReference\n\nClick animations\n\n`v-click`, `\u003cv-clicks>`\n\n[core-animations](https://github.com/antfu/skills/blob/main/skills/slidev/references/core-animations.md)\n\nRough markers\n\n`v-mark.underline`, `v-mark.circle`\n\n[animation-rough-marker](https://github.com/antfu/skills/blob/main/skills/slidev/references/animation-rough-marker.md)\n\nDrawing mode\n\nPress `C` or config `drawings:`\n\n[animation-drawing](https://github.com/antfu/skills/blob/main/skills/slidev/references/animation-drawing.md)\n\nDirection styles\n\n`forward:delay-300`\n\n[style-direction](https://github.com/antfu/skills/blob/main/skills/slidev/references/style-direction.md)\n\nNote highlighting\n\n`[click]` in notes\n\n[animation-click-marker](https://github.com/antfu/skills/blob/main/skills/slidev/references/animation-click-marker.md)\n\n### Syntax Extensions\n\nFeature\n\nUsage\n\nReference\n\nMDC syntax\n\n`mdc: true` + `{style=\"color:red\"}`\n\n[syntax-mdc](https://github.com/antfu/skills/blob/main/skills/slidev/references/syntax-mdc.md)\n\nBlock frontmatter\n\n````yaml` instead of `---`\n\n[syntax-block-frontmatter](https://github.com/antfu/skills/blob/main/skills/slidev/references/syntax-block-frontmatter.md)\n\nImport slides\n\n`src: ./other.md`\n\n[syntax-importing-slides](https://github.com/antfu/skills/blob/main/skills/slidev/references/syntax-importing-slides.md)\n\nMerge frontmatter\n\nMain entry wins\n\n[syntax-frontmatter-merging](https://github.com/antfu/skills/blob/main/skills/slidev/references/syntax-frontmatter-merging.md)\n\n### Presenter & Recording\n\nFeature\n\nUsage\n\nReference\n\nRecording\n\nPress `G` for camera\n\n[presenter-recording](https://github.com/antfu/skills/blob/main/skills/slidev/references/presenter-recording.md)\n\nTimer\n\n`duration: 30min`, `timer: countdown`\n\n[presenter-timer](https://github.com/antfu/skills/blob/main/skills/slidev/references/presenter-timer.md)\n\nRemote control\n\n`slidev --remote`\n\n[presenter-remote](https://github.com/antfu/skills/blob/main/skills/slidev/references/presenter-remote.md)\n\nRuby text\n\n`notesAutoRuby:`\n\n[presenter-notes-ruby](https://github.com/antfu/skills/blob/main/skills/slidev/references/presenter-notes-ruby.md)\n\n### Export & Build\n\nFeature\n\nUsage\n\nReference\n\nExport options\n\n`slidev export`\n\n[core-exporting](https://github.com/antfu/skills/blob/main/skills/slidev/references/core-exporting.md)\n\nBuild & deploy\n\n`slidev build`\n\n[core-hosting](https://github.com/antfu/skills/blob/main/skills/slidev/references/core-hosting.md)\n\nBuild with PDF\n\n`download: true`\n\n[build-pdf](https://github.com/antfu/skills/blob/main/skills/slidev/references/build-pdf.md)\n\nCache images\n\nAutomatic for remote URLs\n\n[build-remote-assets](https://github.com/antfu/skills/blob/main/skills/slidev/references/build-remote-assets.md)\n\nOG image\n\n`seoMeta.ogImage` or `og-image.png`\n\n[build-og-image](https://github.com/antfu/skills/blob/main/skills/slidev/references/build-og-image.md)\n\nSEO tags\n\n`seoMeta:`\n\n[build-seo-meta](https://github.com/antfu/skills/blob/main/skills/slidev/references/build-seo-meta.md)\n\n### Editor & Tools\n\nFeature\n\nUsage\n\nReference\n\nSide editor\n\nClick edit icon\n\n[editor-side](https://github.com/antfu/skills/blob/main/skills/slidev/references/editor-side.md)\n\nVS Code extension\n\nInstall `antfu.slidev`\n\n[editor-vscode](https://github.com/antfu/skills/blob/main/skills/slidev/references/editor-vscode.md)\n\nPrettier\n\n`prettier-plugin-slidev`\n\n[editor-prettier](https://github.com/antfu/skills/blob/main/skills/slidev/references/editor-prettier.md)\n\nEject theme\n\n`slidev theme eject`\n\n[tool-eject-theme](https://github.com/antfu/skills/blob/main/skills/slidev/references/tool-eject-theme.md)\n\n### Lifecycle & API\n\nFeature\n\nUsage\n\nReference\n\nSlide hooks\n\n`onSlideEnter()`, `onSlideLeave()`\n\n[api-slide-hooks](https://github.com/antfu/skills/blob/main/skills/slidev/references/api-slide-hooks.md)\n\nNavigation API\n\n`$nav`, `useNav()`\n\n[core-global-context](https://github.com/antfu/skills/blob/main/skills/slidev/references/core-global-context.md)\n\n## Common Layouts\n\nLayout\n\nPurpose\n\n`cover`\n\nTitle/cover slide\n\n`center`\n\nCentered content\n\n`default`\n\nStandard slide\n\n`two-cols`\n\nTwo columns (use `::right::`)\n\n`two-cols-header`\n\nHeader + two columns\n\n`image` / `image-left` / `image-right`\n\nImage layouts\n\n`iframe` / `iframe-left` / `iframe-right`\n\nEmbed URLs\n\n`quote`\n\nQuotation\n\n`section`\n\nSection divider\n\n`fact` / `statement`\n\nData/statement display\n\n`intro` / `end`\n\nIntro/end slides\n\n## Resources\n\n- Documentation: [https://sli.dev](https://sli.dev)\n- Theme Gallery: [https://sli.dev/resources/theme-gallery](https://sli.dev/resources/theme-gallery)\n- Showcases: [https://sli.dev/resources/showcases](https://sli.dev/resources/showcases)","repositoryUrl":"https://github.com/antfu/skills","originalUrl":"https://skills.sh/antfu/skills/slidev","originalInstalls":1696,"platformInstalls":0,"isVerified":true,"importedBy":null,"createdAt":"2026-02-10T03:38:57.463Z","updatedAt":null,"deletedAt":null,"totalInstalls":1696}}

slidev

$npx skills add antfu/skills --skill slidev
SKILL.md

Slidev

Web-based slides maker built on Vite, Vue, and Markdown. - Technical presentations with live code examples - Syntax-highlighted code snippets with animations

Slidev - Presentation Slides for Developers

Web-based slides maker built on Vite, Vue, and Markdown.

When to Use

  • Technical presentations with live code examples
  • Syntax-highlighted code snippets with animations
  • Interactive demos (Monaco editor, runnable code)
  • Mathematical equations (LaTeX) or diagrams (Mermaid, PlantUML)
  • Record presentations with presenter notes
  • Export to PDF, PPTX, or host as SPA

Quick Start

pnpm create slidev    # Create project
pnpm run dev          # Start dev server
pnpm run export       # Export to PDF
`## Basic Syntax`
---
theme: default
title: My Presentation
---

# First Slide

Content here

---

# Second Slide

More content

<!--
Presenter notes go here
-->
  • --- separates slides
  • First frontmatter = headmatter (deck config)
  • HTML comments = presenter notes

Core References

Topic
Description
Reference
Markdown Syntax
Slide separators, frontmatter, notes, code blocks
Animations
v-click, v-clicks, motion, transitions
Headmatter
Deck-wide configuration options
Frontmatter
Per-slide configuration options
CLI Commands
Dev, build, export, theme commands
Components
Built-in Vue components
Layouts
Built-in slide layouts
Exporting
PDF, PPTX, PNG export options
Hosting
Build and deploy to various platforms
Global Context
nav,nav, slidev, composables API

Feature Reference

Code & Editor

Feature
Usage
Reference
Line highlighting
````ts {2,3}`
Click-based highlighting
````ts {1|2-3|all}`
Line numbers
lineNumbers: true or {lines:true}
Scrollable code
{maxHeight:'100px'}
Code tabs
::code-group (requires mdc: true)
Monaco editor
````ts {monaco}`
Run code
````ts {monaco-run}`
Edit files
<<< ./file.ts {monaco-write}
Code animations
`````md magic-move`
TypeScript types
````ts twoslash`
Import code
<<< @/snippets/file.js

Diagrams & Math

Feature
Usage
Reference
Mermaid diagrams
````mermaid`
PlantUML diagrams
````plantuml`
LaTeX math
$inline$ or $block$

Layout & Styling

Feature
Usage
Reference
Canvas size
canvasWidth, aspectRatio
Zoom slide
zoom: 0.8
Scale elements
<Transform :scale="0.5">
Layout slots
::right::, ::default::
Scoped CSS
<style> in slide
Global layers
global-top.vue, global-bottom.vue
Draggable elements
v-drag, <v-drag>
Icons
<mdi-icon-name />

Animation & Interaction

Feature
Usage
Reference
Click animations
v-click, <v-clicks>
Rough markers
v-mark.underline, v-mark.circle
Drawing mode
Press C or config drawings:
Direction styles
forward:delay-300
Note highlighting
[click] in notes

Syntax Extensions

Feature
Usage
Reference
MDC syntax
mdc: true + {style="color:red"}
Block frontmatter
````yamlinstead of---`
Import slides
src: ./other.md
Merge frontmatter
Main entry wins

Presenter & Recording

Feature
Usage
Reference
Recording
Press G for camera
Timer
duration: 30min, timer: countdown
Remote control
slidev --remote
Ruby text
notesAutoRuby:

Export & Build

Feature
Usage
Reference
Export options
slidev export
Build & deploy
slidev build
Build with PDF
download: true
Cache images
Automatic for remote URLs
OG image
seoMeta.ogImage or og-image.png
SEO tags
seoMeta:

Editor & Tools

Feature
Usage
Reference
Side editor
Click edit icon
VS Code extension
Install antfu.slidev
Prettier
prettier-plugin-slidev
Eject theme
slidev theme eject

Lifecycle & API

Feature
Usage
Reference
Slide hooks
onSlideEnter(), onSlideLeave()
Navigation API
$nav, useNav()

Common Layouts

Layout
Purpose
cover
Title/cover slide
center
Centered content
default
Standard slide
two-cols
Two columns (use ::right::)
two-cols-header
Header + two columns
image / image-left / image-right
Image layouts
iframe / iframe-left / iframe-right
Embed URLs
quote
Quotation
section
Section divider
fact / statement
Data/statement display
intro / end
Intro/end slides

Resources