or `$block$` | [diagram-latex](references/diagram-latex.md) |\n\n### Layout & Styling\n\n| Feature | Usage | Reference |\n|---------|-------|-----------|\n| Canvas size | `canvasWidth`, `aspectRatio` | [layout-canvas-size](references/layout-canvas-size.md) |\n| Zoom slide | `zoom: 0.8` | [layout-zoom](references/layout-zoom.md) |\n| Scale elements | `\u003cTransform :scale=\"0.5\">` | [layout-transform](references/layout-transform.md) |\n| Layout slots | `::right::`, `::default::` | [layout-slots](references/layout-slots.md) |\n| Scoped CSS | `\u003cstyle>` in slide | [style-scoped](references/style-scoped.md) |\n| Global layers | `global-top.vue`, `global-bottom.vue` | [layout-global-layers](references/layout-global-layers.md) |\n| Draggable elements | `v-drag`, `\u003cv-drag>` | [layout-draggable](references/layout-draggable.md) |\n| Icons | `\u003cmdi-icon-name />` | [style-icons](references/style-icons.md) |\n\n### Animation & Interaction\n\n| Feature | Usage | Reference |\n|---------|-------|-----------|\n| Click animations | `v-click`, `\u003cv-clicks>` | [core-animations](references/core-animations.md) |\n| Rough markers | `v-mark.underline`, `v-mark.circle` | [animation-rough-marker](references/animation-rough-marker.md) |\n| Drawing mode | Press `C` or config `drawings:` | [animation-drawing](references/animation-drawing.md) |\n| Direction styles | `forward:delay-300` | [style-direction](references/style-direction.md) |\n| Note highlighting | `[click]` in notes | [animation-click-marker](references/animation-click-marker.md) |\n\n### Syntax Extensions\n\n| Feature | Usage | Reference |\n|---------|-------|-----------|\n| MDC syntax | `mdc: true` + `{style=\"color:red\"}` | [syntax-mdc](references/syntax-mdc.md) |\n| Block frontmatter | `` ```yaml `` instead of `---` | [syntax-block-frontmatter](references/syntax-block-frontmatter.md) |\n| Import slides | `src: ./other.md` | [syntax-importing-slides](references/syntax-importing-slides.md) |\n| Merge frontmatter | Main entry wins | [syntax-frontmatter-merging](references/syntax-frontmatter-merging.md) |\n\n### Presenter & Recording\n\n| Feature | Usage | Reference |\n|---------|-------|-----------|\n| Recording | Press `G` for camera | [presenter-recording](references/presenter-recording.md) |\n| Timer | `duration: 30min`, `timer: countdown` | [presenter-timer](references/presenter-timer.md) |\n| Remote control | `slidev --remote` | [presenter-remote](references/presenter-remote.md) |\n| Ruby text | `notesAutoRuby:` | [presenter-notes-ruby](references/presenter-notes-ruby.md) |\n\n### Export & Build\n\n| Feature | Usage | Reference |\n|---------|-------|-----------|\n| Export options | `slidev export` | [core-exporting](references/core-exporting.md) |\n| Build & deploy | `slidev build` | [core-hosting](references/core-hosting.md) |\n| Build with PDF | `download: true` | [build-pdf](references/build-pdf.md) |\n| Cache images | Automatic for remote URLs | [build-remote-assets](references/build-remote-assets.md) |\n| OG image | `seoMeta.ogImage` or `og-image.png` | [build-og-image](references/build-og-image.md) |\n| SEO tags | `seoMeta:` | [build-seo-meta](references/build-seo-meta.md) |\n\n### Editor & Tools\n\n| Feature | Usage | Reference |\n|---------|-------|-----------|\n| Side editor | Click edit icon | [editor-side](references/editor-side.md) |\n| VS Code extension | Install `antfu.slidev` | [editor-vscode](references/editor-vscode.md) |\n| Prettier | `prettier-plugin-slidev` | [editor-prettier](references/editor-prettier.md) |\n| Eject theme | `slidev theme eject` | [tool-eject-theme](references/tool-eject-theme.md) |\n\n### Lifecycle & API\n\n| Feature | Usage | Reference |\n|---------|-------|-----------|\n| Slide hooks | `onSlideEnter()`, `onSlideLeave()` | [api-slide-hooks](references/api-slide-hooks.md) |\n| Navigation API | `$nav`, `useNav()` | [core-global-context](references/core-global-context.md) |\n\n## Common Layouts\n\n| Layout | Purpose |\n|--------|---------|\n| `cover` | Title/cover slide |\n| `center` | Centered content |\n| `default` | Standard slide |\n| `two-cols` | Two columns (use `::right::`) |\n| `two-cols-header` | Header + two columns |\n| `image` / `image-left` / `image-right` | Image layouts |\n| `iframe` / `iframe-left` / `iframe-right` | Embed URLs |\n| `quote` | Quotation |\n| `section` | Section divider |\n| `fact` / `statement` | Data/statement display |\n| `intro` / `end` | Intro/end slides |\n\n## Resources\n\n- Documentation: https://sli.dev\n- Theme Gallery: https://sli.dev/resources/theme-gallery\n- Showcases: https://sli.dev/resources/showcases\n","licenseDocuments":[]}}
界面已本地化;技能介绍与说明文档按所选语言由 AI 自动翻译,代码、命令、路径和专业术语保留原文,以原作者文档为准。
探索技能
文档与办公 · SKILL.md

slidev

slidev

【文档与办公】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.

独立 GitHub 快照 · 自动分类 · 以原作者文档为准

技能说明

GitHub

name: slidev 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.

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

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

Feature Reference

Code & Editor

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

Diagrams & Math

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

Layout & Styling

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

Animation & Interaction

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

Syntax Extensions

FeatureUsageReference
MDC syntaxmdc: true + {style="color:red"}syntax-mdc
Block frontmatter```yaml instead of ---syntax-block-frontmatter
Import slidessrc: ./other.mdsyntax-importing-slides
Merge frontmatterMain entry winssyntax-frontmatter-merging

Presenter & Recording

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

Export & Build

FeatureUsageReference
Export optionsslidev exportcore-exporting
Build & deployslidev buildcore-hosting
Build with PDFdownload: truebuild-pdf
Cache imagesAutomatic for remote URLsbuild-remote-assets
OG imageseoMeta.ogImage or og-image.pngbuild-og-image
SEO tagsseoMeta:build-seo-meta

Editor & Tools

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

Lifecycle & API

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

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

我的收藏