A template repository for creating workshop slides using Slidev with integrated task management for the workshops.de platform.
Click "Use this template" on GitHub to create a new repository.
git clone https://github.com/your-org/your-workshop-slides.git
cd your-workshop-slides
npm installnpm run devOpen http://localhost:3030 to see your slides.
/
├── 00-index.md # Main index with links to all lessons
├── sources.md # Sources and references
├── package.json # Dependencies and scripts
├── scripts/
│ └── build-all.sh # Build script for all lessons
├── lessons/
│ └── 01-example-lesson/ # Lesson folder
│ ├── lesson.yml # Lesson metadata (synced to platform)
│ ├── 01-example-lesson.md # Main slide deck entry point
│ ├── slides/ # Slide content organized by topic
│ │ └── example-topic/
│ │ ├── why.md # 4-MAT: Why this matters
│ │ ├── what.md # 4-MAT: Core concepts
│ │ ├── how.md # 4-MAT: Practical steps
│ │ ├── what-if.md # 4-MAT: Edge cases & alternatives
│ │ └── task.md # Exercise slide
│ └── tasks/ # Task definitions (synced to platform)
│ ├── 01-first-task/
│ │ └── task.yml
│ └── 02-second-task/
│ ├── task.yml
│ └── assets/ # Task-specific images
└── .cursor/
└── rules/
└── slidev-rules.mdc # AI rules for slide creation
mkdir -p lessons/02-new-lesson/slides/topic-name
mkdir -p lessons/02-new-lesson/tasks/01-first-taskname: New Lesson Title
position: 2
trainer: trainer@workshops.de
github_code_url: https://github.com/org/code-repo
git_tag_starting: main
slides_type: slidev
pdf_generation_enabled: true
stackblitz_enabled: true
codesandbox_enabled: false
deprecated: falseCreate lessons/02-new-lesson/02-new-lesson.md with the Slidev frontmatter.
Create the 4-MAT structure:
slides/topic-name/why.mdslides/topic-name/what.mdslides/topic-name/how.mdslides/topic-name/what-if.mdslides/topic-name/task.md
Create tasks/01-task-name/task.yml for each exercise.
Add the new lesson to scripts/build-all.sh:
echo "📄 Building Lesson 02..."
npx slidev build lessons/02-new-lesson/02-new-lesson.md --out dist/02-new-lesson --base /02-new-lesson/Add dev/build scripts:
{
"scripts": {
"dev:02": "slidev lessons/02-new-lesson/02-new-lesson.md --open",
"build:02": "slidev build lessons/02-new-lesson/02-new-lesson.md --out dist/02-new-lesson"
}
}Each topic follows the 4-MAT learning cycle:
| Phase | Purpose | Content |
|---|---|---|
| WHY | Connection | Why this matters, real-world problems |
| WHAT | Conceptual | Core concepts, theory, definitions |
| HOW | Practice | Step-by-step implementation |
| WHAT IF | Creative | Edge cases, alternatives, extensions |
| Script | Description |
|---|---|
npm run dev |
Start development server |
npm run dev:01 |
Start dev server for lesson 01 |
npm run build |
Build all lessons |
npm run build:01 |
Build lesson 01 only |
npm run export |
Export slides to PDF |
npm run preview |
Preview built slides |
This template is designed to work with the workshops.de platform:
- lesson.yml: Defines lesson metadata synced to the platform
- task.yml: Defines task content synced to the platform
- GitHub Sync: The platform can automatically sync content from this repository
- Set the
github_course_urlin your course settings on the platform - Enable sync for the course
- The platform will automatically import lessons and tasks
Change the theme in your slide frontmatter:
---
theme: seriph # or: default, apple-basic, etc.
---Use UnoCSS classes directly in your slides.
MIT