A Slidev starter template with pre-built components, unified CLI, and multi-presentation support.
- 🎨 Pre-built Components - Cover, Section, Q&A, End slides ready to use
- 📁 Multi-PPT Support - Manage multiple presentations in one project
- 🛠️ Unified CLI - Single command interface for dev, build, and export
- ⚙️ Project Init - Configure author info and update components automatically
- 🎯 Best Practices - Clean architecture for scalable presentations
# Install dependencies
bun install
# Initialize project with your info
bun run init
# Start demo presentation
bun run dev:demo
# Or use interactive mode
bun run devRun bun run init to configure your project:
$ bun run init
⚙️ Slidev Starter - Project Setup
👤 Author Information
Name: John Doe
Email: john@example.com
GitHub URL: https://github.com/johndoe
📊 Theme Defaults
Gradient From: blue-600
Gradient To: cyan-600
Q&A Subtitle: Thanks for listening!
✅ Configuration saved to slidev.config.json
📦 Updating components...
✅ CoverSlide.vue
✅ QASlide.vue
✅ GithubLink.vue
🎉 Project initialized successfully!This will:
- Save your configuration to
slidev.config.json - Update component defaults (GitHub URL, email, theme colors)
├── slides/ # Presentations directory
│ ├── demo.md # Demo presentation
│ └── components/ # Reusable Vue components
│ ├── CoverSlide.vue # Cover page
│ ├── SectionTitle.vue # Section divider
│ ├── QASlide.vue # Q&A page
│ ├── EndSlide.vue # Ending page
│ └── GithubLink.vue # GitHub link icon
├── scripts/
│ └── cli.mjs # Unified CLI tool
├── slidev.config.json # Project configuration
├── public/ # Static assets
└── snippets/ # Code snippets for slides
# Initialize project
bun run init
# Development
bun run dev # Interactive selection
bun run dev:demo # Start demo directly
# Build
bun run build # Interactive selection
bun run build:all # Build all presentations
# Export & Preview
bun run export # Export to PDF
bun run preview # Preview built files
# List presentations
bun run list| Command | Alias | Description |
|---|---|---|
init |
i |
Initialize project with author info |
dev [name] |
d |
Start development server |
build [name] |
b |
Build for production |
export [name] |
e |
Export to PDF |
list |
ls |
List all presentations |
- Create
slides/my-talk.md:
---
theme: default
title: My Talk
---
<CoverSlide
title="My Talk"
subtitle="A great presentation"
/>
---
# Slide 2
Content here...
---
<EndSlide title="Thanks!" />- Run
bun run devand select your presentation
<CoverSlide
title="Project Name"
subtitle="Description"
version="1.0"
githubUrl="https://github.com/user/repo"
/><SectionTitle number="01" title="Introduction" color="blue" /><QASlide title="Questions?" email="hi@example.com" /><EndSlide title="Thank You" features="Fast · Modern · Beautiful" />slidev.config.json:
{
"author": {
"name": "Your Name",
"email": "your@email.com",
"github": "https://github.com/username"
},
"defaults": {
"gradientFrom": "blue-600",
"gradientTo": "cyan-600",
"qaSubtitle": "Thanks for listening!"
}
}| Script | Description |
|---|---|
init |
Initialize project configuration |
dev |
Interactive dev mode |
dev:demo |
Start demo directly |
build |
Interactive build |
build:all |
Build all presentations |
export |
Export to PDF |
preview |
Preview built files |
list |
List presentations |