Back to templates

Template details

reveal-jekyll

Online presentation for GitHub Pages and Jekyll in Markdown using reveal.js with a Solarized Color Theme

About this template

reveal-jekyll is a Jekyll boilerplate that transforms Markdown files into a reveal.js presentation slide deck, ready to publish on GitHub Pages or GitLab Pages. It pairs the static-site generation of Jekyll with the HTML presentation framework reveal.js, and styles everything with the Solarized color scheme (light and dark variants).

What is reveal-jekyll?

reveal-jekyll is a Jekyll template and GitHub/GitLab Pages starter that converts Markdown posts into a slide presentation. It takes as input Markdown files placed in the _posts folder with a layout: slide front matter entry, and outputs a static HTML presentation powered by reveal.js. The project is authored by Thomas Friese and is MIT-licensed, with the demo presentation available at tasmo.gitlab.io/reveal-jekyll.

Key Features

  • GitHub and GitLab Pages integration — Fork the repository and your presentation builds on either platform; project sites work by changing baseurl in _config.yml.
  • Solarized themes — Two built-in color themes, light and dark, based on Ethan Schoonover's Solarized palette.
  • Markdown-first workflow — Slides are written as dated posts in _posts (e.g. 2014-1-1-start.md), each with YAML front matter.
  • Full reveal.js power — Nested slides, vertical slides, fragments, speaker notes, PDF export, and a JavaScript API are all available.
  • Flexible code highlighting — Uses highlight.js instead of Jekyll's default Rouge; you can wrap code in a Liquid highlight block or use HTML pre/code with language-* classes and data attributes like data-trim and data-line-numbers.
  • Configurable slide options — Every reveal.js initialization option can be set under the reveal: key in _config.yml, including slide numbering formats such as c/t.
  • Local development — Run bundle exec jekyll serve after installing dependencies with Bundler, then view slides at http://127.0.0.1:4000.

Who should use reveal-jekyll?

  • Developers and technical speakers — craft slide decks in Markdown, commit them to a repo, and get a hosted presentation on GitHub Pages.
  • Project maintainers — add a project-site presentation at username.github.io/projectname by adjusting baseurl in the configuration.
  • Educators and trainers — build course slides with code examples, using the built-in syntax highlighting and speaker notes for presenting.

What can you do with reveal-jekyll?

  • Publish to GitHub Pages — fork the repo, rename it to yourname.github.io, and push Markdown files to build a user/org site.
  • Publish to GitLab Pages — fork on GitLab, set baseurl for a project site, and your deck appears at yourname.gitlab.io/projectname.
  • Create vertical and fragment slides — leave title blank and wrap sections in HTML <section markdown="1"> for vertical slides; use <div markdown="1" class="fragment"> for step-by-step reveals.
  • Add speaker notes — include <aside class="notes" markdown="1"> in a slide and press s during the presentation to open the speaker window.

How does reveal-jekyll work?

Jekyll reads the Markdown posts, processes front matter, and renders each post as a slide section inside a single index.html presentation file. The _config.yml provides global reveal.js options that are injected into the script block at the bottom of that file. The static site is then served by GitHub Pages, GitLab Pages, or a local Jekyll server.