Lean, hackable, extensible slide deck framework. Previously known as CSSS.
<script src="https://inspirejs.org/inspire.js"></script>
or
import Inspire from "https://inspirejs.org/inspire.mjs";
npm install inspirejs
then
<script src="node_modules/inspirejs.org/inspire.js"></script>
or
import Inspire from "node_modules/inspirejs.org/inspire.mjs";
or if you use a bundler:
import Inspire from "inspirejs.org";
If you were using CSSS and would rather stay at it, run git checkout v1.0.0
and stay there.
slideshow.css
is now inspire.css
slideshow.js
is now inspire.js
SlideShow
JS class is now Inspire
slideshow
JS variable is now Inspire
class="presenter-notes"
item.reusable.css
has now been merged into the default theme, theme.css
.data-import
is now data-insert
await Inspire.importsLoaded;
// code to run after imports have loaded
Note that await
needs to be inside an async function otherwise it will error. However, this could just be a self-executing async function.
await Inspire.importsLoaded;
await Inspire.plugins.loaded.PLUGIN_ID.loaded;
// code to run after the plugin with id PLUGIN_ID has loaded and executed
or:
await Inspire.loadPlugin(PLUGIN_ID);
// code to run after the plugin with id PLUGIN_ID has loaded and executed
The second example would load the plugin if it hasn’t otherwise been loaded, but if it will never be loaded twice.
You can do this via the slidechange
hook:
Inspire.hooks.add("slidechange", env => {
if (Inspire.currentSlide.id === "slide-id") {
// Code to run
}
});
or, via an event:
document.addEventListener("slidechange", evt => {
if (Inspire.currentSlide.id === "slide-id") {
// Code to run
}
});
You can do this via the slidechange
hook:
Inspire.hooks.add("slidechange", env => {
if (Inspire.currentSlide.id === "slide-id" && env.firstTime) {
// Code to run
}
});
or, via an event:
document.addEventListener("slidechange", evt => {
if (Inspire.currentSlide.id === "slide-id" && evt.firstTime) {
// Code to run
}
});
or:
$("#slide-id").addEventListener("slidechange", evt => {
// Code to run
}, {once: true});
You can do this via the slidechange
hook:
Inspire.hooks.add("slidechange", env => {
if (env.prevSlide.id === "slide-id") {
// Code to run
}
});
or, via an event:
document.addEventListener("slidechange", evt => {
if (evt.prevSlide.id === "slide-id") {
// Code to run
}
});