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 CONTRIBUTING.md file for information on how to contribute and instructions to set up the remotion project.
How to proceed
Create a custom transition. Loook at the custom presentation docs to see how it's done.2
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'];
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": {"module": "./dist/presentations/yourPresentation.js","import": "./dist/presentations/yourPresentation.js","require": "./dist/cjs/presentations/yourPresentation.js","types": "./dist/presentations/yourPresentation.d.ts"},},"typesVersions": {">=1.0": {"yourPresentation": ["dist/presentations/yourPresentation.d.ts"],},}
json"exports": {"./yourPresentation": {"module": "./dist/presentations/yourPresentation.js","import": "./dist/presentations/yourPresentation.js","require": "./dist/cjs/presentations/yourPresentation.js","types": "./dist/presentations/yourPresentation.d.ts"},},"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}><PresentationPreviewdurationRestThreshold={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>
Example TOCItemtsx<TOCItem link="/docs/transitions/presentations/yourPresentation"><div style={row}><PresentationPreviewdurationRestThreshold={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.