Get started with Slidev presentations in minutes. Use this skill to create your first presentation or set up a new Slidev project.
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.
npm init slidev@latest
This interactive command will:
# 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"
}
}
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)
# Start development server
npm run dev
# Or directly with npx
npx slidev
Your presentation will be available at http://localhost:3030
| 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 |
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
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
---
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
# Code Example
\`\`\`typescript
interface User {
id: number
name: string
email: string
}
function greet(user: User): string {
return `Hello, ${user.name}!`
}
\`\`\`
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
-->
slides.md to Gitβ 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
---
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