docs-demo

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

By remotion-dev · 2,136 installs

npx skills add remotion-dev/remotion --skill docs-demo

Source repository · Upstream listing

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