slidev-quick-start
Slidev Quick Start
This skill helps you get started with Slidev, the presentation framework for developers. You'll learn how to create a new project, understand the basic syntax, and run your first presentation.
When to Use This Skill
- Creating a new Slidev presentation from scratch
- Setting up Slidev for the first time
- Understanding basic Slidev concepts
- Converting an existing presentation to Slidev
- Quickly scaffolding a presentation structure
Prerequisites
- Node.js: Version 18.0 or higher
- Package Manager: npm, pnpm, or yarn
- Text Editor: VS Code recommended (with Slidev extension)
Creating a New Project
Option 1: Using npm init (Recommended)
npm init slidev@latest
This interactive command will:
- Ask for your project name
- Create the project directory
- Install dependencies
- Start the dev server
Option 2: Manual Setup
# Create project directory
mkdir my-presentation
cd my-presentation
# Initialize package.json
npm init -y
# Install Slidev
npm install @slidev/cli @slidev/theme-default
# Create slides file
touch slides.md
Add scripts to package.json:
{
"scripts": {
"dev": "slidev --open",
"build": "slidev build",
"export": "slidev export"
}
}
Your First Presentation
Create slides.md with this content:
---
theme: default
title: My First Presentation
info: |
## My First Slidev Presentation
Created with Slidev
class: text-center
drawings:
persist: false
transition: slide-left
---
# Welcome to Slidev
Presentation slides for developers
<div class="pt-12">
<span @click="$slidev.nav.next" class="px-2 py-1 rounded cursor-pointer" hover="bg-white bg-opacity-10">
Press Space for next page <carbon:arrow-right class="inline"/>
</span>
</div>
---
# What is Slidev?
Slidev is a slides maker and presenter designed for developers
- ๐ **Markdown-based** - focus on content with Markdown
- ๐จ **Themable** - themes can be shared and installed
- ๐งโ๐ป **Developer Friendly** - code highlighting, live coding
- ๐คน **Interactive** - embed Vue components
- ๐ฅ **Recording** - built-in recording and camera view
- ๐ค **Portable** - export to PDF, PPTX, or host online
---
layout: center
---
# Thank You!
[Documentation](https://sli.dev) ยท [GitHub](https://github.com/slidevjs/slidev)
Running Your Presentation
# Start development server
npm run dev
# Or directly with npx
npx slidev
Your presentation will be available at http://localhost:3030
Essential Keyboard Shortcuts
| Shortcut | Action |
|---|---|
Space / โ |
Next slide/animation |
โ |
Previous slide/animation |
โ / โ |
Navigate slides (skip animations) |
o |
Overview mode |
d |
Toggle dark mode |
f |
Fullscreen |
g |
Go to slide |
Esc |
Exit overview/fullscreen |
Slide Separator
Use --- (three dashes) surrounded by blank lines to separate slides:
# Slide 1
Content for slide 1
---
# Slide 2
Content for slide 2
---
# Slide 3
Content for slide 3
Frontmatter Configuration
The first slide's frontmatter configures the entire presentation:
---
# Presentation metadata
theme: seriph # Theme name
title: My Presentation # Browser tab title
info: | # Presentation info
## About
Description here
# Appearance
colorSchema: auto # auto, light, or dark
class: text-center # CSS classes for first slide
background: /image.jpg # Background image
# Features
drawings:
persist: false # Save drawings between reloads
transition: slide-left # Default transition
highlighter: shiki # Code highlighter
# Export
exportFilename: slides # Export filename
download: true # Show download button
---
Adding Layouts
Specify layouts per slide using frontmatter:
---
layout: cover
background: https://cover.sli.dev
---
# Cover Slide
---
layout: two-cols
---
# Left Column
Content here
::right::
# Right Column
Content here
---
layout: center
---
# Centered Content
Adding Code Blocks
# Code Example
\`\`\`typescript
interface User {
id: number
name: string
email: string
}
function greet(user: User): string {
return `Hello, ${user.name}!`
}
\`\`\`
Adding Speaker Notes
Add HTML comments at the end of a slide for speaker notes:
# My Slide
Important content here
<!--
Speaker notes go here.
- Remember to mention X
- Demo the feature Y
-->
Best Practices
- Start Simple: Begin with basic Markdown, add features gradually
- One Idea Per Slide: Keep slides focused
- Use Layouts: Leverage built-in layouts for consistent design
- Version Control: Commit
slides.mdto Git - Test Export Early: Verify PDF export works before presenting
Common Mistakes to Avoid
โ Missing blank lines around separators
# Slide 1
---
# Slide 2
โ Correct separator syntax
# Slide 1
---
# Slide 2
โ Invalid frontmatter indentation
---
theme:seriph # Missing space after colon
---
โ Correct frontmatter
---
theme: seriph
---
Output Format
When creating a new Slidev presentation, provide:
PROJECT STRUCTURE:
- slides.md (main presentation file)
- package.json (with dev/build/export scripts)
- Optional: public/ directory for assets
FIRST SLIDE FRONTMATTER:
---
theme: [recommended theme]
title: [presentation title]
---
SUGGESTED SLIDE STRUCTURE:
1. Title/Cover slide
2. Introduction/Agenda
3. Main content slides
4. Summary/Conclusion
5. Thank you/Contact slide
NEXT STEPS:
- Run `npm run dev` to start
- Edit slides.md to add content
- Use `o` key for overview