
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
baseurlin_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
highlightblock or use HTML pre/code withlanguage-*classes and data attributes likedata-trimanddata-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 asc/t. - Local development — Run
bundle exec jekyll serveafter 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/projectnameby adjustingbaseurlin 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
baseurlfor a project site, and your deck appears atyourname.gitlab.io/projectname. - Create vertical and fragment slides — leave
titleblank 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 presssduring 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.















