Hinzufügen einer interaktiven Demo zur Dokumentation
Interaktive Demos rendern eine Remotion-Komposition inline in Dokumentationsseiten mit @remotion/player. Sie befinden sich in packages/docs/components/demos/.
Schritte
-
Erstelle eine Komponente in
packages/docs/components/demos/(z.B.MyDemo.tsx). Es sollte eine standardmäßige React-Komponente sein, die Remotion-Hooks wieuseCurrentFrame()unduseVideoConfig()verwendet. -
Registriere die Demo in
packages/docs/components/demos/types.ts:- Importiere die Komponente
- Exportiere ein
DemoType-Objekt mit diesen Feldern:id: eindeutiger String, der in<Demo type="..." />verwendet wirdcomp: die React-KomponentecompWidth/compHeight: Canvas-Abmessungen (z.B. 1280x720)fps: Bildrate (typischerweise 30)durationInFrames: AnimationslängeautoPlay: ob sie automatisch abgespielt wirdoptions: Array interaktiver Steuerungen (kann leer sein[])
-
Füge zum Demos-Array hinzu in
packages/docs/components/demos/index.tsx:- Importiere die Demo-Konstante aus
./types - Füge sie zum
demos-Array hinzu
- Importiere die Demo-Konstante aus
-
Verwende in MDX mit
<Demo type="deine-id" />
Optionen
Optionen fügen interaktive Steuerungen unter dem Player hinzu. Jede Option benötigt name und optional ('no', 'default-enabled' oder 'default-disabled').
Unterstützte Typen:
type: 'numeric'— Schieberegler mitmin,max,step,defaulttype: 'boolean'— Checkbox mitdefaulttype: 'enum'— Dropdown mitvalues-Array unddefaulttype: 'string'— Texteingabe mitdefault
Optionenwerte werden als inputProps an die Komponente übergeben. Greife wie bei normalen React-Props darauf zu.
Beispiel-Registrierung
export const myDemo: DemoType = {
comp: MyDemoComp,
compHeight: 720,
compWidth: 1280,
durationInFrames: 150,
fps: 30,
id: 'my-demo',
autoPlay: true,
options: [],
};