A monorepo for managing presentation decks and custom Slidev themes.
.
├── themes/ # Custom Slidev themes
│ ├── paiza/
│ ├── academic/
│ ├── dracula/
│ ├── frankfurt/
│ ├── vscode-dark/
│ └── emerald-synth/
├── decks/ # Presentation decks
├── .docker/
│ └── traefik/ # Reverse proxy config
├── Dockerfile
├── compose.yaml # Main compose (traefik, dev, includes)
├── compose.themes.yaml # Theme services
└── compose.decks.yaml # Deck services
mkcert -install && mkdir -p .docker/traefik/certs && mkcert -cert-file .docker/traefik/certs/_wildcard.slides.localhost.pem -key-file .docker/traefik/certs/_wildcard.slides.localhost-key.pem "*.slides.localhost"docker compose up -d# Theme preview
docker compose --profile paiza-theme up -d
# Deck
docker compose --profile lt-devin up -ddocker compose down --remove-orphansAccess via HTTPS:
| Profile | URL |
|---|---|
| paiza-theme | https://paiza-theme.slides.localhost |
| academic-theme | https://academic-theme.slides.localhost |
| dracula-theme | https://dracula-theme.slides.localhost |
| frankfurt-theme | https://frankfurt-theme.slides.localhost |
| vscode-dark-theme | https://vscode-dark-theme.slides.localhost |
| cobalt-theme | https://cobalt-theme.slides.localhost |
| emerald-synth-theme | https://emerald-synth-theme.slides.localhost |
| lt-devin | https://lt-devin.slides.localhost |
| self-intro | https://self-intro.slides.localhost |
| (dashboard) | https://traefik.slides.localhost |
docker compose --profile dev up -d
docker compose exec dev sh| Theme | Description |
|---|---|
| paiza | Corporate theme for paiza presentations |
| academic | Academic presentation theme |
| dracula | Dracula color scheme theme |
| frankfurt | Frankfurt-style academic theme |
| vscode-dark | VS Code inspired dark theme |
| cobalt | Deep cobalt blue framed layouts |
| emerald-synth | Synthwave/cyberpunk dark theme with neon glow |
- Create a directory under
decks/ - Add a
package.jsonwith@slidev/clias a dev dependency - Reference the theme via relative path in frontmatter:
---
theme: ../../themes/paiza
---- Add a service block to
compose.decks.yamlwith a profile and Traefik labels
- Create a directory under
themes/ - Add a service block to
compose.themes.yamlwith a profile and Traefik labels