AgentSkillsCN

slidev

基于 Markdown 的演示幻灯片,依托 Vue 和 Vite 技术。适用于制作幻灯片、技术演讲、会议分享,或任何受益于代码高亮、图表展示以及 Web 技术的演示场景。

SKILL.md
--- frontmatter
name: slidev
description: Markdown-based presentation slides powered by Vue and Vite. Use when creating slide decks, technical presentations, conference talks, or any presentation that benefits from code highlighting, diagrams, and web technologies.

Slidev

Slidev renders Markdown files as interactive slide presentations. Supports Vue components, UnoCSS styling, Shiki code highlighting, Mermaid diagrams, and LaTeX math.

Quick Start

bash
# Create new project
pnpm create slidev

# Or with npm (downloads each time, slower)
npm init slidev@latest

# Dev server
slidev --open

# Export to PDF
slidev export

# Build static SPA
slidev build

Entry file defaults to slides.md. Pass different file: slidev other.md.

Slide Structure

Slides separated by --- with blank lines before/after:

md
---
theme: seriph
title: My Presentation
fonts:
  sans: Inter
  mono: Fira Code
---

# Slide 1: Title Slide

Content here.

---

# Slide 2

More content.

---
layout: center
class: text-center
---

# Centered Slide

This slide uses the `center` layout.

Headmatter (First Slide)

Configures entire deck:

FieldPurposeExample
themeTheme package or nameseriph, default, apple-basic
titlePresentation titleMy Talk
fontsGoogle Fonts auto-import{ sans: Inter, mono: Fira Code }
aspectRatioSlide ratio16/9 (default), 4/3
canvasWidthCanvas width in px980 (default)
themeConfigTheme-specific config{ primary: '#5d8392' }
transitionDefault slide transitionslide-left, fade
mdcEnable MDC syntaxtrue

Per-Slide Frontmatter

md
---
layout: two-cols
class: my-class
background: /image.png
transition: fade
clicks: 5
---

Speaker Notes

Comments at the END of a slide become presenter notes:

md
# My Slide

Content visible to audience.

<!-- 
Speaker notes here.
Only visible in presenter view.
Supports **markdown**.
-->

Code Blocks

Shiki syntax highlighting with language tag:

md
```ts
const greeting = 'Hello, Slidev!'
```

Line Highlighting

md
```ts {2,3}        // Highlight lines 2-3
```ts {1-3,5}      // Highlight 1-3 and 5
```ts {1|3|5-7}    // Click-stepped: 1, then 3, then 5-7
```ts {*|1|3}{lines:true}  // With line numbers

Options

md
```ts {lines:true}              // Show line numbers
```ts {startLine:5}             // Start numbering at 5
```ts {maxHeight:'200px'}       // Scrollable with max height
```ts twoslash                  // TwoSlash integration

For live code editing, see references/monaco.md.

Styling

UnoCSS Classes

md
<div class="text-3xl font-bold text-blue-500 p-4">
  Styled content
</div>

MDC Syntax

Enable with mdc: true in headmatter:

md
# Red Title {.text-red-500}

Paragraph with [styled link]{.text-green-500.underline}.

Scoped Styles

md
# My Slide

<style>
h1 { color: red; }
</style>

Global Styles

Create style.css in project root. Auto-imported.

Diagrams

Mermaid

md
```mermaid
graph LR
  A[Start] --> B{Decision}
  B -->|Yes| C[Action]
  B -->|No| D[End]
```

PlantUML

md
```plantuml
@startuml
Alice -> Bob: Hello
Bob --> Alice: Hi!
@enduml
```

CLI Reference

Dev Server

bash
slidev [entry]              # Start dev server (default: slides.md)
slidev --port 8080          # Custom port
slidev --open               # Open browser
slidev --remote             # Enable remote access
slidev --remote mypassword  # Password-protected remote

Build

bash
slidev build                # Build to ./dist
slidev build --out public   # Custom output dir
slidev build --base /talks/ # Base URL for hosting

Export

bash
slidev export                       # PDF (default)
slidev export --format png          # PNG per slide
slidev export --format pptx         # PowerPoint (images)
slidev export --format md           # Markdown with PNGs
slidev export --with-clicks         # Separate page per click
slidev export --dark                # Dark mode
slidev export --range 1,3-5         # Specific slides
slidev export --timeout 60000       # Longer timeout

Requires playwright-chromium: pnpm add -D playwright-chromium

References

TopicFile
Built-in layoutsreferences/layouts.md
Built-in componentsreferences/components.md
Click animations & transitionsreferences/animations.md
Monaco live editorreferences/monaco.md
Themes and addonsreferences/themes-addons.md
LaTeX mathreferences/latex.md

Resources