opción

Crea y presenta presentaciones web con Slidev utilizando Markdown, componentes Vue, resaltado de código, animaciones y características interactivas. Ideal para presentaciones técnicas, charlas en conferencias, recorridos por código, materiales didácticos o presentaciones para desarrolladores.

...Expandir todo
6
Tiempo actualizado 7 de septiembre de 2026

Slidev - Diapositivas de presentación para desarrolladores

Creador de diapositivas web basado en Vite, Vue y Markdown.

Cuándo utilizarlo

  • Presentaciones técnicas o diapositivas con ejemplos de código en vivo
  • Fragmentos de código con resaltado de sintaxis y animaciones
  • Demos interactivas (editor Monaco, código ejecutable)
  • Ecuaciones matemáticas (LaTeX) o diagramas (Mermaid, PlantUML)
  • Grabación de presentaciones con notas del presentador
  • Exportación a PDF, PPTX o alojamiento como SPA
  • Recorridos por código para charlas o talleres de desarrollo

Inicio rápido

pnpm create slidev    # Crear proyecto
pnpm run dev          # Iniciar servidor de desarrollo (abre http://localhost:3030)
pnpm run build        # Construir SPA estática
pnpm run export       # Exportar a PDF (requiere playwright-chromium)

Verificación: Tras ejecutar pnpm run dev, confirma que las diapositivas se cargan en http://localhost:3030. Tras ejecutar pnpm run export, verifica que el PDF de salida exista en la raíz del proyecto.

Sintaxis básica

---
theme: default
title: Mi presentación
---

# Primera diapositiva

Contenido aquí

---

# Segunda diapositiva

Más contenido


  • --- separa las diapositivas
  • El frontmatter inicial es el headmatter (configuración de la presentación)
  • Los comentarios HTML son notas del presentador

Referencias principales

TemaDescripciónReferencia
Sintaxis MarkdownSeparadores de diapositivas, frontmatter, notas, bloques de códigocore-syntax
Animacionesv-click, v-clicks, motion, transicionescore-animations
HeadmatterOpciones de configuración para toda la presentacióncore-headmatter
FrontmatterOpciones de configuración por diapositivacore-frontmatter
Comandos CLIComandos de desarrollo, construcción, exportación y temascore-cli
ComponentesComponentes Vue integradoscore-components
DiseñosDiseños de diapositivas integradoscore-layouts
ExportaciónOpciones de exportación a PDF, PPTX y PNGcore-exporting
AlojamientoConstrucción y despliegue en varias plataformascore-hosting
Contexto global$nav, $slidev, API de composablescore-global-context

Referencia de características

Código y editor

CaracterísticaUsoReferencia
Resaltado de líneas````ts {2,3}`code-line-highlighting
Resaltado basado en clics````ts {1|2-3|all}`code-line-highlighting
Números de línea`lineNumbers: true` o `{lines:true}`code-line-numbers
Código desplazable`{maxHeight:'100px'}`code-max-height
Pestañas de código`::code-group` (requiere `comark: true`)code-groups
Editor Monaco````ts {monaco}`editor-monaco
Ejecutar código````ts {monaco-run}`editor-monaco-run
Editar archivos``editor-monaco-write
Animaciones de código`````md magic-move`code-magic-move
Tipos de TypeScript````ts twoslash`code-twoslash
Importar código``code-import-snippet

Diagramas y matemáticas

CaracterísticaUsoReferencia
Diagramas Mermaid````mermaid`diagram-mermaid
Diagramas PlantUML````plantuml`diagram-plantuml
Matemáticas LaTeX`$inline$` o `$$block$$`diagram-latex

Diseño y estilo

CaracterísticaUsoReferencia
Tamaño del lienzo`canvasWidth`, `aspectRatio`layout-canvas-size
Zoom de diapositiva`zoom: 0.8`layout-zoom
Escalar elementos``layout-transform
Slots de diseño`::right::`, `::default::`layout-slots
CSS acotado`` en la diapositivastyle-scoped
Capas globales`global-top.vue`, `global-bottom.vue`layout-global-layers
Elementos arrastrables`v-drag`, ``layout-draggable
Iconos``style-icons

Animación e interacción

CaracterísticaUsoReferencia
Animaciones al hacer clic`v-click`, ``core-animations
Marcadores de trazos`v-mark.underline`, `v-mark.circle`animation-rough-marker
Modo dibujoPresionar `C` o configurar `drawings:`animation-drawing
Estilos de dirección`forward:delay-300`style-direction
Resaltado de notas`[click]` en las notasanimation-click-marker

Extensiones de sintaxis

CaracterísticaUsoReferencia
Sintaxis Comark`comark: true` + `{style="color:red"}`syntax-comark
Frontmatter de bloque````yaml` en lugar de `---`syntax-block-frontmatter
Importar diapositivas`src: ./other.md`syntax-importing-slides
Fusionar frontmatterGana la entrada principalsyntax-frontmatter-merging

Presentador y grabación

CaracterísticaUsoReferencia
GrabaciónPresionar `G` para la cámarapresenter-recording
Cronómetro`duration: 30min`, `timer: countdown`presenter-timer
Control remoto`slidev --remote`presenter-remote
Texto Ruby`notesAutoRuby:`presenter-notes-ruby

Exportación y construcción

CaracterísticaUsoReferencia
Opciones de exportación`slidev export`core-exporting
Construcción y despliegue`slidev build`core-hosting
Construcción con PDF`download: true`build-pdf
Almacenar imágenes en cachéAutomático para URL remotasbuild-remote-assets
Imagen OG`seoMeta.ogImage` o `og-image.png`build-og-image
Etiquetas SEO`seoMeta:`build-seo-meta

Requisito previo de exportación: Se requiere pnpm add -D playwright-chromium para la exportación a PDF/PPTX/PNG. Si la exportación falla con un error del navegador, instala esta dependencia primero.

Editor y herramientas

CaracterísticaUsoReferencia
Editor lateralHacer clic en el icono de edicióneditor-side
Extensión VS CodeInstalar `antfu.slidev`editor-vscode
Prettier`prettier-plugin-slidev`editor-prettier
Extraer tema`slidev theme eject`tool-eject-theme

Ciclo de vida y API

CaracterísticaUsoReferencia
Ganchos de diapositiva`onSlideEnter()`, `onSlideLeave()`api-slide-hooks
API de navegación`$nav`, `useNav()`core-global-context

Diseños comunes

DiseñoPropósito
`cover`Diapositiva de título/portada
`center`Contenido centrado
`default`Diapositiva estándar
`two-cols`Dos columnas (usar `::right::`)
`two-cols-header`Encabezado + dos columnas
`image` / `image-left` / `image-right`Diseños de imagen
`iframe` / `iframe-left` / `iframe-right`Incrustar URL
`quote`Cita
`section`Divisor de sección
`fact` / `statement`Visualización de datos/declaraciones
`intro` / `end`Diapositivas de introducción/fin

Recursos

Ver en 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

Todos los archivos

0 archivos

Instalar slidev

Descarga y extrae los archivos de habilidades en tu directorio .claude/skills/.

Descargar ZIP

Clona el repositorio y copia los archivos de la habilidad a tu proyecto.

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

Copiar Copiar
Configuración rápida: Copie la carpeta de la habilidad a .claude/skills/ Claude detectará y utilizará automáticamente la habilidad
Repositorio antfu/skills

Habilidades relacionadas

golang-dependency-injection
Tiempo actualizado 29 de junio de 2026
nuxthub
Tiempo actualizado 23 de agosto de 2026
tc-tracker
Tiempo actualizado 27 de agosto de 2026
code-quality
Tiempo actualizado 22 de agosto de 2026
OR