@codemovie/code-movie-reveal-plugin
v1.1.0
Published
Reveal plugin for code.movie
Downloads
3
Readme
Code.Movie plugin for reveal.js
Integrate animated, syntax highlighted code from Code.Movie into your reveal.js presentations!
What this does
This plugin makes Reveal.js handle each animation keyframe like a fragment. You can navigate through an animated code sample using arrow keys or a remote, just like you would navigate through slides or regular fragments.
How to use
You can install the library as @codemovie/code-movie-reveal-plugin
from NPM,
download the latest release from GitHub
or just grab either index.esm.js
or index.js
from the source code.
Then create a Reveal.js slide deck and import the plugin just like any other reveal.js plugin:
<!-- Using the plugin as a module -->
<script src="dist/reveal.js"></script>
<script type="module">
import { CodeMovie } from "./plugin/code-movie/index.esm.js";
Reveal.initialize({
hash: true,
plugins: [CodeMovie]
});
</script>
<!-- Using the module as a plain script -->
<script src="dist/reveal.js"></script>
<script src="plugin/code-movie/index.esm.js"></script>
<script>
Reveal.initialize({
hash: true,
plugins: [CodeMovie]
});
</script>
Then either export your Code.Movie project to HTML or get an embed code. Add the exported HTML or the embed code to a slide:
<!-- A slide with the HTML export of a Code.Movie project -->
<section>
<code-movie-runtime keyframes="0 1 2 3 4 5">
<!-- Exported HTML content -->
</code-movie-runtime>
</section>
And that's basically it! You can tweak details like the font size by setting the
appropriate attributes on either the <code-movie-runtime>
element or the
<script>
element containing the runtime code.
<!-- Setting the font size on an HTML export -->
<section>
<code-movie-runtime keyframes="0 1 2 3 4 5" style="font-size:0.375em">
<!-- Exported HTML content -->
</code-movie-runtime>
</section>
The plugin bundles the <code-movie-runtime>
element, so everything should work
out of the box.
How this works
This plugin adds an invisible fragment for each keyframe or each
<code-movie-runtime>
in the presentation and performs a bit of event handling
to tie the animation's state to the current fragment. It is extremely simple and
basic :)