option

Créez et présentez des présentations web à l'aide de Slidev avec Markdown, des composants Vue, la coloration syntaxique du code, des animations et des fonctionnalités interactives. Idéal pour les présentations techniques, les conférences, les explications de code, les supports pédagogiques ou les diaporamas destinés aux développeurs.

...Développer tout
6
Heure mise à jour 7 septembre 2026

Slidev - Diapositives de présentation pour les développeurs

Générateur de diapositives web basé sur Vite, Vue et Markdown.

Quand l'utiliser

  • Présentations techniques ou diaporamas avec des exemples de code en direct
  • Extraits de code mis en évidence syntaxiquement avec des animations
  • Démonstrations interactives (éditeur Monaco, code exécutable)
  • Équations mathématiques (LaTeX) ou diagrammes (Mermaid, PlantUML)
  • Enregistrement de présentations avec des notes du présentateur
  • Exportation vers PDF, PPTX ou hébergement en tant qu'application monopage (SPA)
  • Parcours de code pour des conférences ou des ateliers destinés aux développeurs

Démarrage rapide

pnpm create slidev    # Créer le projet
pnpm run dev          # Démarrer le serveur de développement (ouvre http://localhost:3030)
pnpm run build        # Construire l'application monopage statique
pnpm run export       # Exporter au format PDF (nécessite playwright-chromium)

Vérification : Après pnpm run dev, confirmez que les diapositives se chargent à l'adresse http://localhost:3030. Après pnpm run export, vérifiez que le fichier PDF de sortie existe à la racine du projet.

Syntaxe de base

---
theme: default
title: Ma Présentation
---

# Première Diapositive

Contenu ici

---

# Deuxième Diapositive

Plus de contenu


  • --- sépare les diapositives
  • Le frontmatter initial correspond au headmatter (configuration du diaporama)
  • Les commentaires HTML correspondent aux notes du présentateur

Références principales

SujetDescriptionRéférence
Syntaxe MarkdownSéparateurs de diapositives, frontmatter, notes, blocs de codecore-syntax
Animationsv-click, v-clicks, motion, transitionscore-animations
HeadmatterOptions de configuration à l'échelle du diaporamacore-headmatter
FrontmatterOptions de configuration par diapositivecore-frontmatter
Commandes CLICommandes de développement, de construction, d'exportation et de thèmecore-cli
ComposantsComposants Vue intégréscore-components
Mises en pageMises en page de diapositives intégréescore-layouts
ExportationOptions d'exportation vers PDF, PPTX et PNGcore-exporting
HébergementConstruction et déploiement sur diverses plateformescore-hosting
Contexte global$nav, $slidev, API des composablescore-global-context

Référence des fonctionnalités

Code et Éditeur

FonctionnalitéUtilisationRéférence
Surlignage de lignes````ts {2,3}`code-line-highlighting
Surlignage basé sur les clics````ts {1|2-3|all}`code-line-highlighting
Numéros de ligne`lineNumbers: true` ou `{lines:true}`code-line-numbers
Code défilable`{maxHeight:'100px'}`code-max-height
Onglets de code`::code-group` (nécessite `comark: true`)code-groups
Éditeur Monaco````ts {monaco}`editor-monaco
Exécuter le code````ts {monaco-run}`editor-monaco-run
Modifier des fichiers``editor-monaco-write
Animations de code`````md magic-move`code-magic-move
Types TypeScript````ts twoslash`code-twoslash
Importer du code``code-import-snippet

Diagrammes et Mathématiques

FonctionnalitéUtilisationRéférence
Diagrammes Mermaid````mermaid`diagram-mermaid
Diagrammes PlantUML````plantuml`diagram-plantuml
Mathématiques LaTeX`$inline$` ou `$$block$$`diagram-latex

Mise en page et Style

FonctionnalitéUtilisationRéférence
Taille du canevas`canvasWidth`, `aspectRatio`layout-canvas-size
Zoom sur la diapositive`zoom: 0.8`layout-zoom
Mettre à l'échelle les éléments``layout-transform
Emplacements de mise en page`::right::`, `::default::`layout-slots
CSS scoped`` dans la diapositivestyle-scoped
Couches globales`global-top.vue`, `global-bottom.vue`layout-global-layers
Éléments glissables`v-drag`, ``layout-draggable
Icônes``style-icons

Animation et Interaction

FonctionnalitéUtilisationRéférence
Animations au clic`v-click`, ``core-animations
Marqueurs bruts`v-mark.underline`, `v-mark.circle`animation-rough-marker
Mode dessinAppuyer sur `C` ou configurer `drawings:`animation-drawing
Styles directionnels`forward:delay-300`style-direction
Surlignage des notes`[click]` dans les notesanimation-click-marker

Extensions de syntaxe

FonctionnalitéUtilisationRéférence
Syntaxe Comark`comark: true` + `{style="color:red"}`syntax-comark
Frontmatter de bloc````yaml` au lieu de `---`syntax-block-frontmatter
Importer des diapositives`src: ./other.md`syntax-importing-slides
Fusionner le frontmatterLa saisie principale l'emportesyntax-frontmatter-merging

Présentateur et Enregistrement

FonctionnalitéUtilisationRéférence
EnregistrementAppuyer sur `G` pour la camérapresenter-recording
Minuteur`duration: 30min`, `timer: countdown`presenter-timer
Télécommande`slidev --remote`presenter-remote
Texte ruby`notesAutoRuby:`presenter-notes-ruby

Exportation et Construction

FonctionnalitéUtilisationRéférence
Options d'exportation`slidev export`core-exporting
Construction et déploiement`slidev build`core-hosting
Construire avec PDF`download: true`build-pdf
Mettre en cache les imagesAutomatique pour les URL distantesbuild-remote-assets
Image OG`seoMeta.ogImage` ou `og-image.png`build-og-image
Balises SEO`seoMeta:`build-seo-meta

Prérequis d'exportation : pnpm add -D playwright-chromium est requis pour l'exportation au format PDF/PPTX/PNG. Si l'exportation échoue avec une erreur de navigateur, installez d'abord cette dépendance.

Éditeur et Outils

FonctionnalitéUtilisationRéférence
Éditeur latéralCliquer sur l'icône de modificationeditor-side
Extension VS CodeInstaller `antfu.slidev`editor-vscode
Prettier`prettier-plugin-slidev`editor-prettier
Extraire le thème`slidev theme eject`tool-eject-theme

Cycle de vie et API

FonctionnalitéUtilisationRéférence
Accroches de diapositive`onSlideEnter()`, `onSlideLeave()`api-slide-hooks
API de navigation`$nav`, `useNav()`core-global-context

Mises en page courantes

Mise en pageObjectif
`cover`Diapositive de titre/ couverture
`center`Contenu centré
`default`Diapositive standard
`two-cols`Deux colonnes (utiliser `::right::`)
`two-cols-header`En-tête + deux colonnes
`image` / `image-left` / `image-right`Mises en page d'images
`iframe` / `iframe-left` / `iframe-right`Intégrer des URL
`quote`Citation
`section`Séparateur de section
`fact` / `statement`Affichage de données/d'énoncés
`intro` / `end`Diapositives d'introduction/de fin

Ressources

Voir sur GitHub
---
name: slidev
description: Create and present web-based slide decks using Slidev with Markdown, Vue components, code highlighting, animations, and interactive features. Ideal for technical presentations, conference talks, code walkthroughs, teaching materials, or developer decks.
---

# Slidev - Presentation Slides for Developers

Web-based slides maker built on Vite, Vue, and Markdown.

## When to Use

- Technical presentations or slidedecks with live code examples
- Syntax-highlighted code snippets with animations
- Interactive demos (Monaco editor, runnable code)
- Mathematical equations (LaTeX) or diagrams (Mermaid, PlantUML)
- Record presentations with presenter notes
- Export to PDF, PPTX, or host as SPA
- Code walkthroughs for developer talks or workshops

## Quick Start

```bash
pnpm create slidev    # Create project
pnpm run dev          # Start dev server (opens http://localhost:3030)
pnpm run build        # Build static SPA
pnpm run export       # Export to PDF (requires playwright-chromium)
```

**Verify**: After `pnpm run dev`, confirm slides load at `http://localhost:3030`. After `pnpm run export`, check the output PDF exists in the project root.

## Basic Syntax

```md
---
theme: default
title: My Presentation
---

# First Slide

Content here

---

# Second Slide

More content

<!--
Presenter notes go here
-->
```

- `---` separates slides
- First frontmatter = headmatter (deck config)
- HTML comments = presenter notes

## Core References

| Topic | Description | Reference |
|-------|-------------|-----------|
| Markdown Syntax | Slide separators, frontmatter, notes, code blocks | [core-syntax](references/core-syntax.md) |
| Animations | v-click, v-clicks, motion, transitions | [core-animations](references/core-animations.md) |
| Headmatter | Deck-wide configuration options | [core-headmatter](references/core-headmatter.md) |
| Frontmatter | Per-slide configuration options | [core-frontmatter](references/core-frontmatter.md) |
| CLI Commands | Dev, build, export, theme commands | [core-cli](references/core-cli.md) |
| Components | Built-in Vue components | [core-components](references/core-components.md) |
| Layouts | Built-in slide layouts | [core-layouts](references/core-layouts.md) |
| Exporting | PDF, PPTX, PNG export options | [core-exporting](references/core-exporting.md) |
| Hosting | Build and deploy to various platforms | [core-hosting](references/core-hosting.md) |
| Global Context | $nav, $slidev, composables API | [core-global-context](references/core-global-context.md) |

## Feature Reference

### Code & Editor

| Feature | Usage | Reference |
|---------|-------|-----------|
| Line highlighting | `` ```ts {2,3} `` | [code-line-highlighting](references/code-line-highlighting.md) |
| Click-based highlighting | `` ```ts {1\|2-3\|all} `` | [code-line-highlighting](references/code-line-highlighting.md) |
| Line numbers | `lineNumbers: true` or `{lines:true}` | [code-line-numbers](references/code-line-numbers.md) |
| Scrollable code | `{maxHeight:'100px'}` | [code-max-height](references/code-max-height.md) |
| Code tabs | `::code-group` (requires `comark: true`) | [code-groups](references/code-groups.md) |
| Monaco editor | `` ```ts {monaco} `` | [editor-monaco](references/editor-monaco.md) |
| Run code | `` ```ts {monaco-run} `` | [editor-monaco-run](references/editor-monaco-run.md) |
| Edit files | `<<< ./file.ts {monaco-write}` | [editor-monaco-write](references/editor-monaco-write.md) |
| Code animations | `` ````md magic-move `` | [code-magic-move](references/code-magic-move.md) |
| TypeScript types | `` ```ts twoslash `` | [code-twoslash](references/code-twoslash.md) |
| Import code | `<<< @/snippets/file.js` | [code-import-snippet](references/code-import-snippet.md) |

### Diagrams & Math

| Feature | Usage | Reference |
|---------|-------|-----------|
| Mermaid diagrams | `` ```mermaid `` | [diagram-mermaid](references/diagram-mermaid.md) |
| PlantUML diagrams | `` ```plantuml `` | [diagram-plantuml](references/diagram-plantuml.md) |
| LaTeX math | `$inline$` or `$$block$$` | [diagram-latex](references/diagram-latex.md) |

### Layout & Styling

| Feature | Usage | Reference |
|---------|-------|-----------|
| Canvas size | `canvasWidth`, `aspectRatio` | [layout-canvas-size](references/layout-canvas-size.md) |
| Zoom slide | `zoom: 0.8` | [layout-zoom](references/layout-zoom.md) |
| Scale elements | `<Transform :scale="0.5">` | [layout-transform](references/layout-transform.md) |
| Layout slots | `::right::`, `::default::` | [layout-slots](references/layout-slots.md) |
| Scoped CSS | `<style>` in slide | [style-scoped](references/style-scoped.md) |
| Global layers | `global-top.vue`, `global-bottom.vue` | [layout-global-layers](references/layout-global-layers.md) |
| Draggable elements | `v-drag`, `<v-drag>` | [layout-draggable](references/layout-draggable.md) |
| Icons | `<mdi-icon-name />` | [style-icons](references/style-icons.md) |

### Animation & Interaction

| Feature | Usage | Reference |
|---------|-------|-----------|
| Click animations | `v-click`, `<v-clicks>` | [core-animations](references/core-animations.md) |
| Rough markers | `v-mark.underline`, `v-mark.circle` | [animation-rough-marker](references/animation-rough-marker.md) |
| Drawing mode | Press `C` or config `drawings:` | [animation-drawing](references/animation-drawing.md) |
| Direction styles | `forward:delay-300` | [style-direction](references/style-direction.md) |
| Note highlighting | `[click]` in notes | [animation-click-marker](references/animation-click-marker.md) |

### Syntax Extensions

| Feature | Usage | Reference |
|---------|-------|-----------|
| Comark syntax | `comark: true` + `{style="color:red"}` | [syntax-comark](references/syntax-comark.md) |
| Block frontmatter | `` ```yaml `` instead of `---` | [syntax-block-frontmatter](references/syntax-block-frontmatter.md) |
| Import slides | `src: ./other.md` | [syntax-importing-slides](references/syntax-importing-slides.md) |
| Merge frontmatter | Main entry wins | [syntax-frontmatter-merging](references/syntax-frontmatter-merging.md) |

### Presenter & Recording

| Feature | Usage | Reference |
|---------|-------|-----------|
| Recording | Press `G` for camera | [presenter-recording](references/presenter-recording.md) |
| Timer | `duration: 30min`, `timer: countdown` | [presenter-timer](references/presenter-timer.md) |
| Remote control | `slidev --remote` | [presenter-remote](references/presenter-remote.md) |
| Ruby text | `notesAutoRuby:` | [presenter-notes-ruby](references/presenter-notes-ruby.md) |

### Export & Build

| Feature | Usage | Reference |
|---------|-------|-----------|
| Export options | `slidev export` | [core-exporting](references/core-exporting.md) |
| Build & deploy | `slidev build` | [core-hosting](references/core-hosting.md) |
| Build with PDF | `download: true` | [build-pdf](references/build-pdf.md) |
| Cache images | Automatic for remote URLs | [build-remote-assets](references/build-remote-assets.md) |
| OG image | `seoMeta.ogImage` or `og-image.png` | [build-og-image](references/build-og-image.md) |
| SEO tags | `seoMeta:` | [build-seo-meta](references/build-seo-meta.md) |

**Export prerequisite**: `pnpm add -D playwright-chromium` is required for PDF/PPTX/PNG export. If export fails with a browser error, install this dependency first.

### Editor & Tools

| Feature | Usage | Reference |
|---------|-------|-----------|
| Side editor | Click edit icon | [editor-side](references/editor-side.md) |
| VS Code extension | Install `antfu.slidev` | [editor-vscode](references/editor-vscode.md) |
| Prettier | `prettier-plugin-slidev` | [editor-prettier](references/editor-prettier.md) |
| Eject theme | `slidev theme eject` | [tool-eject-theme](references/tool-eject-theme.md) |

### Lifecycle & API

| Feature | Usage | Reference |
|---------|-------|-----------|
| Slide hooks | `onSlideEnter()`, `onSlideLeave()` | [api-slide-hooks](references/api-slide-hooks.md) |
| Navigation API | `$nav`, `useNav()` | [core-global-context](references/core-global-context.md) |

## Common Layouts

| Layout | Purpose |
|--------|---------|
| `cover` | Title/cover slide |
| `center` | Centered content |
| `default` | Standard slide |
| `two-cols` | Two columns (use `::right::`) |
| `two-cols-header` | Header + two columns |
| `image` / `image-left` / `image-right` | Image layouts |
| `iframe` / `iframe-left` / `iframe-right` | Embed URLs |
| `quote` | Quotation |
| `section` | Section divider |
| `fact` / `statement` | Data/statement display |
| `intro` / `end` | Intro/end slides |

## Resources

- Documentation: https://sli.dev
- Theme Gallery: https://sli.dev/resources/theme-gallery
- Showcases: https://sli.dev/resources/showcases

Tous les fichiers

0 fichiers

Installer slidev

Téléchargez et extrayez les fichiers de compétences dans votre répertoire .claude/skills/.

Télécharger le ZIP

Clonez le dépôt et copiez les fichiers de compétence dans votre projet.

git clone https://github.com/antfu/skills/tree/main/skills/slidev # Copy SKILL.md to your .claude/skills/ directory

Copier Copier
Configuration rapide: Copiez le dossier de l’extension dans .claude/skills/ Claude détectera et utilisera automatiquement l’extension
Dépôt antfu/skills

Compétences similaires

golang-dependency-injection
Heure mise à jour 29 juin 2026
nuxthub
Heure mise à jour 23 août 2026
tc-tracker
Heure mise à jour 27 août 2026
code-quality
Heure mise à jour 22 août 2026
OR