Skip to content
Slides for various talks I give
Java Shell Ruby
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
_asciidoctor-reveal.js @ 0002f7f Update to Asciidoctor-revealjs 1.1.3 Jul 23, 2018
_shared-images [Java X] Style for NAV Aug 15, 2019
_shared Update Accento slide May 22, 2019
best-practices [Best Practices] Improve speaker notes Jun 3, 2019
blog [Blog] Add load times for CMS vs SSG Dec 21, 2018
comment-your-code [Comments] Style for JavaLand Mar 15, 2019
expert-java-8 [Expert Java 8] Fix iframe for 'Thinking in Parallel' May 24, 2019
java-9-migration [Java 9 Migration] Style for JUG Darmstadt Jul 11, 2019
java-x [Java Next, Java X] Update switch to use 'yield' Aug 16, 2019
jpms [JPMS] Style for NAV Aug 15, 2019
.gitignore Update asciidoctor-reveal.js to 1.0.4 and use bundler Dec 3, 2017
.gitmodules Prefix asciidoctor-reveal.JS folder name with underscore Feb 5, 2017
Guardfile Prepend underscore to presentation.adoc for readability Sep 20, 2018 License under CC-BY-NC 4.0 Feb 5, 2017
permalink-reveal.js-excludes Create script to automate permalinking Feb 7, 2017 Start commit message on gh-pages with [talk] Apr 21, 2017

CodeFX Slides Repository

Slides for various talks I give and have given. They are written with the awesome Asciidoctor and visualized with reveal.js. Thanks to GitHub Pages you can see them on


Repository Structure

An amalgam of submodules and worktrees...

Branch master

  • _asciidoctor-reveal.js (submodule ~> CodeFX-org/asciidoctor-reveal.js; nipa-talks)
  • _shared (contains snippets that are shared among presentations)
  • _shared-images (contains images that are shared among presentations)
  • a subdirectory for each presentation, with all required files except shared ones
  • meta-information (LICENSE, README, ...)

After checkout, the submodule needs to be initialized and the gh-pages branch should be added as a worktree to master:

git submodule update
git worktree add _slides gh-pages

Then run bundle install to install all the right Ruby Gems as described in the Asciidoctor-Reveal.js setup guide.

Branch gh-pages

  • _highlight.js (downloaded from
  • images (folder for landing page)
  • _reveal.js (submodule ~> CodeFX-org/reveal.js; nipa-talks)
  • _template (a template for presentations)
  • landing page (favicon, index.html, CNAME for GH Pages)

After checkout, the submodule needs to be initialized:

git submodule update


After installing bundler, run bundle install to install all required Ruby gems.



To generate a slide deck (for example java-next), you need to run this in the repository's root:

bundle exec asciidoctor-revealjs java-next/_presentation.adoc -o _slides/java-next/index.html

If you want to automate that, you can run bundle exec guard in the same folder. It detects file system changes and calls the same command for the edited slide deck. (It does not use the asciidoctor gem directly because that does not resolve include-directives - at least not on my machine.)


Finally, to edit the theme do a full setup for reveal.js in _slides/_reveal.js. Here, grunt serve will automatically pick up changes in _slides/_reveal.js/css/theme/source and create the CSS files in the correct location.

You can’t perform that action at this time.