Contribute your own presentation
Make your custom presentation accessible for others in the @remotion/transitions package.
Setup the Remotion project
If this is your first contribution, see the main instructions first.
How to proceed
Create a custom transition. Look at the custom presentation docs to see how it's done.Add your presentation to the remotion monorepository under
packages/transitions/src/presentations.3
In the bundle.ts, add your presentation to the presentations array.
tsxconst presentations = ['slide', 'flip', 'wipe', 'fade', ..., 'yourPresentation'];
exports of the package.json at packages/transition/package.json as well as to the typesVersions, so it can be correctly imported in other remotion projects.
json"exports": {"./yourPresentation": {"types": "./dist/presentations/yourPresentation.d.ts","module": "./dist/presentations/yourPresentation.js","import": "./dist/presentations/yourPresentation.js","require": "./dist/cjs/presentations/yourPresentation.js"},},"typesVersions": {">=1.0": {"yourPresentation": ["dist/presentations/yourPresentation.d.ts"],},}
Make sure to pnpm build in remotion/packages/transitions so your transition gets usable in your remotion repository.
- A
short descriptionof what your presentation does. - A
demoof your presentation. For instructions, have a look at thedemoparagraph in the contributing to the documentation page, or have a look at the source code of other presentation documentations ([presentationType].mdx files). - An
example code snippetshowing how to use your presentation . See the type safe snippets docs for instructions on typesafe code snippets. - The API of your presentation
For more help on how to write a documentation, see the contributing to the documentation page.
Add your presentation to the table of contents at docs/transitions/presentations by creating a<TOCItem> containing a link to your documentation, a <PresentationPreview displaying your presentation and a
one-liner describing what your presentation does.
Example TOCItemtsx<TOCItem link="/docs/transitions/presentations/yourPresentation"><div style={row}><PresentationPreview durationRestThreshold={0.001} effect={yourPresentation()} /><div style={{flex: 1, marginLeft: 10}}><strong><code>{'yourPresentation()'}</code></strong><div>Insert one-liner describing your presentation</div></div></div></TOCItem>
An pull request for reference containing all required steps and filechanges can be found here.