reveal-cljs
reveal-cljs copied to clipboard
reveal.js + ClojureScript = Awesome presentations with joy
reveal-cljs
Inspired by the great work on reveal.js and the dislike towards JavaScript, this small project was created to provide a simple wrapper in ClojureScript to create awesome presentations. All features from reveal.js can be used. Check the official documentation of reveal.js for more information about it.
🌅 Find a demo of reveal-cljs on this page: https://n2o.github.io/reveal-cljs/
It uses Hiccup-syntax for templating, which makes it very easy to create slides.
Start the project with make repl
and see your live
slides. Start speaker-mode by pressing s in the slides in your
browser.
Requirements
Tested with AdoptOpenJDK 16, see CI Build Job for more details in the environment.
A JDK, Clojure's CLI Tools,
yarn and make
are necessary to
build and run the project.
Usage
Set your desired options in core.cljs. More options can be found here.
Create your slides in
slides.cljs
and add them to the list in the function all
.
Then start the development server as seen in the Setup section.
Installation & Setup
Everything in one command:
make
Or:
Download the dependency reveal.js (specified in package.json
) with:
make install
or clone the repository:
git clone [email protected]:hakimel/reveal.js.git resources/public/node_modules/reveal.js
To get an interactive development environment, run:
make repl
Figwheel opens your browser at localhost:9500. This will auto compile and send all changes to the browser without the need to reload.
Open Speaker Notes by pressing s.
Compile and Prepare for Deployment
You can compile the cljs-Code and put the assets together to make your presentation ready to be deployed on a webserver (e.g. on GitHub Pages). By following these steps, you can publish the presentation on a regular server, which only needs to serve HTML, CSS and JavaScript Files. This is all put into one task:
make web
Follow the steps on the terminal to find your prepared presentation.
Software
This project uses external packages, which can be removed by you, since most of them are not essential:
- reveal.js (MIT License)
- Bootstrap Grid (MIT License)
- Font-Awesome (License)
- Clojure (EPL-1.0 License)
License
Copyright © 2016 – 2021 Christian Meter and Contributors
Distributed under the MIT License.