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.
const 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.
"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.
<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.