Presentations for Cursor Saudi Arabia community events, powered by Slidev.
slides/
├── README.md # This file
├── build.sh # Build script for PDF generation
├── *.pdf # Generated PDFs (at root for easy access)
├── mds/ # All slide markdown files
│ ├── 2025-05-riyadh-meetup.md
│ ├── 2025-07-riyadh-workshop.md
│ ├── 2025-10-riyadh-hackathon.md
│ ├── 2025-11-riyadh-ai-game.md
│ └── 2025-12-riyadh-meetup.md
└── src/ # Shared source files
├── templates/ # Presentation templates by type
│ ├── meetup/ # Community meetup template
│ ├── workshop/ # Hands-on workshop template
│ ├── hackathon/ # Hackathon event template
│ └── talk/ # Standalone talk template
├── components/ # Vue components
│ ├── Counter.vue
│ └── GlowBackground.vue
├── slidev-theme-cursor/ # Custom Cursor theme
├── snippets/ # Code snippets
├── assets/ # All shared assets
│ ├── logos/ # Cursor, partners, sponsors
│ ├── brand/ # Cursor branding assets
│ ├── speakers/ # Speaker photos
│ ├── misc/ # Other shared assets
│ └── events/ # Event-specific assets
│ └── {event-name}/
├── package.json # Slidev dependencies
├── netlify.toml
└── vercel.json
./build.sh --list./build.sh --dev 2025-12-riyadh-meetupThen visit http://localhost:3030
# Single event
./build.sh 2025-12-riyadh-meetup
# All events
./build.sh --allPDFs are generated at the root directory (e.g., 2025-12-riyadh-meetup.pdf).
- Create a new slide file in
mds/:
cp mds/2025-12-riyadh-meetup.md mds/2026-01-riyadh-workshop.md- Update the frontmatter with event details:
---
title: "Your Event Title"
info: |
"Event description"
event:
date: 2026-01-15
location: "Venue, Riyadh"
type: workshop # meetup | workshop | hackathon | talk
host: "Host Name"
speakers:
- name: "Speaker Name"
role: "Title"
class: bg-[#0F0F0F] text-white
mdc: true
theme: default
layout: cover
background: '#0F0F0F'
transition: slide-left
---- Reference assets from
assets/(relative to build output):
<img src="/assets/logos/cursor-horizontal-dark-bg-app-icon-full-color@4x.png" />
<img src="/assets/speakers/mazen_pfp.png" />
<img src="/assets/brand/cursor_riyadh_old.jpeg" />Note: Use /assets/ paths (not /src/assets/) since the build copies src/* to the build directory.
- Add event-specific assets (if needed):
mkdir -p src/assets/events/2026-01-riyadh-workshop
cp your-asset.png src/assets/events/2026-01-riyadh-workshop/- Preview and build:
./build.sh --dev 2026-01-riyadh-workshop # Preview
./build.sh 2026-01-riyadh-workshop # Generate PDF| Template | Use Case | Key Features |
|---|---|---|
meetup |
Community meetups | Intro, partners, community info, Q&A |
workshop |
Hands-on workshops | Agenda, demos, best practices, exercises |
hackathon |
Hackathon events | Rules, timeline, judging, prizes |
talk |
Standalone talks | Minimal structure, speaker-focused |
See src/templates/{type}/base.md for template documentation.
Animated glowing background effect:
<GlowBackground>
<h1>Your Slide Title</h1>
<p>Content here...</p>
</GlowBackground>Interactive counter component:
<Counter :count="10" />Follow Cursor's monochrome branding:
| Role | HEX | Usage |
|---|---|---|
| Primary bg | #0F0F0F |
Main background |
| Card bg | #171717 |
Cards, modals |
| Border | #252525 |
Dividers, borders |
| Body text | #FFFFFF @ 80% |
Paragraph text |
| Headlines | #FFFFFF @ 100% |
Titles, CTAs |
| Accent | #6E6E6E |
Icons, secondary |
| Directory | Contents |
|---|---|
logos/ |
Cursor logos, partner/sponsor logos |
brand/ |
Cursor branding (stamps, QR codes, community) |
speakers/ |
Speaker profile photos |
misc/ |
Shared assets (awards, diagrams, etc.) |
events/{name}/ |
Event-specific assets |
- MDC syntax (
mdc: true) for enhanced markdown - v-click for sequential reveals
- v-motion for animations
- Mermaid diagrams for flowcharts
- Two-column layouts for comparisons
- Custom theme with Cursor branding
- Create a new branch for your event
- Add your slides in
mds/ - Preview with
./build.sh --dev <event> - Generate PDF with
./build.sh <event> - Commit both
.mdand.pdffiles