Skip to main content

docs-demo

Add an interactive demo to the Remotion documentation. Use when creating a new <Demo> component for docs pages.

Informations de source

Dépôt
remotion-dev/remotion
Dernière activité de la source
31 mai 2026 à 19:59
Langue détectée de SKILL.md
anglais
Étoiles
69 888
Forks
5 749

Options d'installation

Le prompt qui vérifie d'abord la source est sélectionné par défaut. Vous pouvez passer à une commande directe ou télécharger une copie locale.

Vérifiez les fichiers source

Lisez SKILL.md et les fichiers associés affichés par SkillsMP avant de décider de l'installer.

Affichage de SKILL.md

SKILL.md
Instructions source · Aperçu en lecture seule
name
docs-demo
description
Add an interactive demo to the Remotion documentation. Use when creating a new <Demo> component for docs pages.
# Adding an Interactive Demo to Docs Interactive demos render a Remotion composition inline in documentation pages using `@remotion/player`. They live in `packages/docs/components/demos/`. Effect demos are separate: use `<EffectsDemo type="effects-..." />` and register them in `packages/docs/components/effects-demos/registry.ts` with the real effect `schema`, not the generic `<Demo>` options array. ## Steps 1. **Create a component** in `packages/docs/components/demos/` (e.g. `MyDemo.tsx`). It should be a standard React component using Remotion hooks like `useCurrentFrame()` and `useVideoConfig()`. 2. **Register the demo** in `packages/docs/components/demos/types.ts`: - Import the component - Export a `DemoType` object with these fields: - `id`: unique string used in `<Demo type="..." />` - `comp`: the React component - `compWidth` / `compHeight`: canvas dimensions (e.g. 1280x720) - `fps`: frame rate (typically 30) - `durationInFrames`: animation length - `autoPlay`: whether it plays automatically - `options`: array of interactive controls (can be empty `[]`) 3. **Add to the demos array** in `packages/docs/components/demos/index.tsx`: - Import the demo constant from `./types` - Add it to the `demos` array 4. **Use in MDX** with `<Demo type="your-id" />` ## Options Options add interactive controls below the player. Each option needs `name` and `optional` (`'no'`, `'default-enabled'`, or `'default-disabled'`). Supported types: - `type: 'numeric'` — slider with `min`, `max`, `step`, `default` - `type: 'boolean'` — checkbox with `default` - `type: 'enum'` — dropdown with `values` array and `default` - `type: 'string'` — text input with `default` Option values are passed to the component as `inputProps`. Access them as regular React props. ## Example registration ```ts export const myDemo: DemoType = { comp: MyDemoComp, compHeight: 720, compWidth: 1280, durationInFrames: 150, fps: 30, id: 'my-demo', autoPlay: true, options: [], }; ```
Voir sur GitHub