slidev

Skill

Create and present web-based slidedecks for developers using Slidev with Markdown, Vue components, code highlighting, animations, and interactive features. Use when building technical presentations, conference talks, code walkthroughs, teaching materials, or developer decks.

Files56
  • @skills/slidev/LICENSE.md
  • @skills/slidev/README.md
  • @skills/slidev/SKILL.md
  • @skills/slidev/SYNC.md
  • @skills/slidev/references/animation-click-marker.md
  • @skills/slidev/references/animation-drawing.md
  • @skills/slidev/references/animation-rough-marker.md
  • @skills/slidev/references/api-slide-hooks.md
  • @skills/slidev/references/build-og-image.md
  • @skills/slidev/references/build-pdf.md
  • @skills/slidev/references/build-remote-assets.md
  • @skills/slidev/references/build-seo-meta.md
  • @skills/slidev/references/code-groups.md
  • @skills/slidev/references/code-import-snippet.md
  • @skills/slidev/references/code-line-highlighting.md
  • @skills/slidev/references/code-line-numbers.md
  • @skills/slidev/references/code-magic-move.md
  • @skills/slidev/references/code-max-height.md
  • @skills/slidev/references/code-twoslash.md
  • @skills/slidev/references/core-animations.md
  • @skills/slidev/references/core-cli.md
  • @skills/slidev/references/core-components.md
  • @skills/slidev/references/core-exporting.md
  • @skills/slidev/references/core-frontmatter.md
  • @skills/slidev/references/core-global-context.md
  • @skills/slidev/references/core-headmatter.md
  • @skills/slidev/references/core-hosting.md
  • @skills/slidev/references/core-layouts.md
  • @skills/slidev/references/core-syntax.md
  • @skills/slidev/references/diagram-latex.md
  • @skills/slidev/references/diagram-mermaid.md
  • @skills/slidev/references/diagram-plantuml.md
  • @skills/slidev/references/editor-monaco-run.md
  • @skills/slidev/references/editor-monaco-write.md
  • @skills/slidev/references/editor-monaco.md
  • @skills/slidev/references/editor-prettier.md
  • @skills/slidev/references/editor-side.md
  • @skills/slidev/references/editor-vscode.md
  • @skills/slidev/references/layout-canvas-size.md
  • @skills/slidev/references/layout-draggable.md
  • @skills/slidev/references/layout-global-layers.md
  • @skills/slidev/references/layout-slots.md
  • @skills/slidev/references/layout-transform.md
  • @skills/slidev/references/layout-zoom.md
  • @skills/slidev/references/presenter-notes-ruby.md
  • @skills/slidev/references/presenter-recording.md
  • @skills/slidev/references/presenter-remote.md
  • @skills/slidev/references/presenter-timer.md
  • @skills/slidev/references/style-direction.md
  • @skills/slidev/references/style-icons.md
  • @skills/slidev/references/style-scoped.md
  • @skills/slidev/references/syntax-block-frontmatter.md
  • @skills/slidev/references/syntax-comark.md
  • @skills/slidev/references/syntax-frontmatter-merging.md
  • @skills/slidev/references/syntax-importing-slides.md
  • @skills/slidev/references/tool-eject-theme.md

Slidev - Presentation Slides for Developers

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

When to Use

  • Technical presentations or slidedecks 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
  • Code walkthroughs for developer talks or workshops

Quick Start

bash
pnpm create slidev    # Create project
pnpm run dev          # Start dev server (opens http://localhost:3030)
pnpm run build        # Build static SPA
pnpm run export       # Export to PDF (requires playwright-chromium)
Verify: After pnpm run dev, confirm slides load at http://localhost:3030. After pnpm run export, check the output PDF exists in the project root.

Basic Syntax

markdown
---
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

TopicDescriptionReference
Markdown SyntaxSlide separators, frontmatter, notes, code blockscore-syntax [blocked]
Animationsv-click, v-clicks, motion, transitionscore-animations [blocked]
HeadmatterDeck-wide configuration optionscore-headmatter [blocked]
FrontmatterPer-slide configuration optionscore-frontmatter [blocked]
CLI CommandsDev, build, export, theme commandscore-cli [blocked]
ComponentsBuilt-in Vue componentscore-components [blocked]
LayoutsBuilt-in slide layoutscore-layouts [blocked]
ExportingPDF, PPTX, PNG export optionscore-exporting [blocked]
HostingBuild and deploy to various platformscore-hosting [blocked]
Global Contextnav,nav, slidev, composables APIcore-global-context [blocked]

Feature Reference

Code & Editor

FeatureUsageReference
Line highlighting```ts {2,3}code-line-highlighting [blocked]
Click-based highlighting```ts {1|2-3|all}code-line-highlighting [blocked]
Line numberslineNumbers: true or {lines:true}code-line-numbers [blocked]
Scrollable code{maxHeight:'100px'}code-max-height [blocked]
Code tabs::code-group (requires comark: true)code-groups [blocked]
Monaco editor```ts {monaco}editor-monaco [blocked]
Run code```ts {monaco-run}editor-monaco-run [blocked]
Edit files<<< ./file.ts {monaco-write}editor-monaco-write [blocked]
Code animations````md magic-movecode-magic-move [blocked]
TypeScript types```ts twoslashcode-twoslash [blocked]
Import code<<< @/snippets/file.jscode-import-snippet [blocked]

Diagrams & Math

FeatureUsageReference
Mermaid diagrams```mermaiddiagram-mermaid [blocked]
PlantUML diagrams```plantumldiagram-plantuml [blocked]
LaTeX math$inline$ or $$block$$diagram-latex [blocked]

Layout & Styling

FeatureUsageReference
Canvas sizecanvasWidth, aspectRatiolayout-canvas-size [blocked]
Zoom slidezoom: 0.8layout-zoom [blocked]
Scale elements<Transform :scale="0.5">layout-transform [blocked]
Layout slots::right::, ::default::layout-slots [blocked]
Scoped CSS<style> in slidestyle-scoped [blocked]
Global layersglobal-top.vue, global-bottom.vuelayout-global-layers [blocked]
Draggable elementsv-drag, <v-drag>layout-draggable [blocked]
Icons<mdi-icon-name />style-icons [blocked]

Animation & Interaction

FeatureUsageReference
Click animationsv-click, <v-clicks>core-animations [blocked]
Rough markersv-mark.underline, v-mark.circleanimation-rough-marker [blocked]
Drawing modePress C or config drawings:animation-drawing [blocked]
Direction stylesforward:delay-300style-direction [blocked]
Note highlighting[click] in notesanimation-click-marker [blocked]

Syntax Extensions

FeatureUsageReference
Comark syntaxcomark: true + {style="color:red"}syntax-comark [blocked]
Block frontmatter```yaml instead of ---syntax-block-frontmatter [blocked]
Import slidessrc: ./other.mdsyntax-importing-slides [blocked]
Merge frontmatterMain entry winssyntax-frontmatter-merging [blocked]

Presenter & Recording

FeatureUsageReference
RecordingPress G for camerapresenter-recording [blocked]
Timerduration: 30min, timer: countdownpresenter-timer [blocked]
Remote controlslidev --remotepresenter-remote [blocked]
Ruby textnotesAutoRuby:presenter-notes-ruby [blocked]

Export & Build

FeatureUsageReference
Export optionsslidev exportcore-exporting [blocked]
Build & deployslidev buildcore-hosting [blocked]
Build with PDFdownload: truebuild-pdf [blocked]
Cache imagesAutomatic for remote URLsbuild-remote-assets [blocked]
OG imageseoMeta.ogImage or og-image.pngbuild-og-image [blocked]
SEO tagsseoMeta:build-seo-meta [blocked]
Export prerequisite: pnpm add -D playwright-chromium is required for PDF/PPTX/PNG export. If export fails with a browser error, install this dependency first.

Editor & Tools

FeatureUsageReference
Side editorClick edit iconeditor-side [blocked]
VS Code extensionInstall antfu.slideveditor-vscode [blocked]
Prettierprettier-plugin-slideveditor-prettier [blocked]
Eject themeslidev theme ejecttool-eject-theme [blocked]

Lifecycle & API

FeatureUsageReference
Slide hooksonSlideEnter(), onSlideLeave()api-slide-hooks [blocked]
Navigation API$nav, useNav()core-global-context [blocked]

Common Layouts

LayoutPurpose
coverTitle/cover slide
centerCentered content
defaultStandard slide
two-colsTwo columns (use ::right::)
two-cols-headerHeader + two columns
image / image-left / image-rightImage layouts
iframe / iframe-left / iframe-rightEmbed URLs
quoteQuotation
sectionSection divider
fact / statementData/statement display
intro / endIntro/end slides

Resources

slidev — Kortix Marketplace | Kortix