This gem provides a set of Rake
tasks to create reveal.js
presentations from markdown files. It uses pandoc
to create the final presentation. The output is a self-contained set of static HTML files that can be viewed locally uploaded to a web server.
Unique features:
revealing
assumes that your presentation is built usingRake
. Additional, custom steps (like deployment) can easily be added to the Rakefile that was generated for you.- Efficiency - by carefully modeling the dependencies between source files (your markdown), intermediate build products (processed include statements), and the final output (HTML and resized images), build steps are only run when necessary (e.g. when a corresponding source file was changed).
- Zero to CF in Kube-Cluster in 30 Seconds with Concourse, Helm, Fissile and Eirini (source: suhlig/zero-to-cf-in-30-seconds) is built using
revealing
.
- Create a test project using
revealing init
- Test by referring to the changed tasks:
rake -f ~/workspace/revealing/lib/revealing/tasks.rb -T
- Make the changes
- Run tests
- From a test project, install the updated gem locally and invoke it:
Verify that everything works.
$ (cd ../revealing; git add .; bake install) && bundle update && bake clobber default
- Bump the version in
lib/revealing/version.rb
- git commit
gem signin
to rubygems.orgbundle exec rake release
- Pandoc >= 2.9.3 is required for reveal.js >= 4.0
- Expose customization of
- highlight-style
- theme
- slideNumber
- history
- Provide a docker image so that we can run without installing everything
- Add guard-livereload to the generated project
- Performance: pandoc-ditaa-inline filter could write files to cache dir and read it from there via SHA
- still keep the SVG inline, but do not call ditaa again if unchanged
- Consider mermaid-filter
- Allow self-hosted mathjax (copy to target)
- Charts using vega-lite
- Make the initial set of files more meaningful (e.g. add the project name,
git config user.name
etc.) - Web interface for live editing