Back to templates

Template details

Jekyll Deck

Template for Jekyll / deck.js presentations

About this template

Jekyll / deck.js Presentation Template is a starter repository that pairs the Jekyll static site generator with the deck.js HTML presentation framework to build slide decks as static websites. Write your entire deck in a single index.html file, run Jekyll, and the generated presentation appears in the _site directory with deck.js already included. The repository is a GitHub template described as "Template for Jekyll / deck.js presentations" and currently has 27 stars.

What is Jekyll / deck.js Presentation Template?

It is a template that combines Jekyll, a Ruby-based static site generator, with deck.js, a JavaScript library for creating HTML presentations. The template takes an index.html file containing your slide content as input and produces a complete static presentation under _site as output. It runs on any system with Ruby and Jekyll installed, and its maintainer provides it as a ready-to-clone GitHub repository.

Key Features

  • Jekyll integration — Uses Jekyll to build the site, so there is no database and the output is a set of static files that can be deployed to any web host or CDN.
  • deck.js included — The deck.js library ships with the template, providing slide navigation, themes, and transition effects without additional setup.
  • HTML-based slides — The entire presentation lives in one index.html file, which the author explicitly states is "a lot more flexible when using deck.js" than Markdown.
  • Markdown branch — A separate markdown branch lets you write each slide as an individual file under _posts, for those who prefer Markdown despite the extra file management.
  • Recursive clone workflow — The repository is designed to be cloned recursively, so the deck.js submodule is pulled in automatically with git clone --recursive.

Who is it for?

  • Developers who want version-controlled, static slide decks that can be reviewed and diffed like code.
  • Technical speakers who prefer writing slides in HTML to have full control over layout, code highlighting, and embedded media.
  • Existing Jekyll users who want to reuse their familiar build pipeline and deployment workflow for presentations instead of learning a separate slide tool.

What can you do with it?

  • Conference speakers: create a deck with keyboard navigation and slide transitions, then deploy the _site output to GitHub Pages or any static host.
  • Educators: build slide decks that include code samples and technical diagrams, taking advantage of HTML flexibility rather than Markdown constraints.
  • Open-source maintainers: keep presentation source files in the same repository as project documentation, so slides can be updated with the code they describe.

How does it work?

Clone the repository recursively so deck.js is included, then write your presentation in index.html using deck.js slide markup. After saving your content, run the jekyll command from the repository root; the generated presentation will appear in the _site directory, ready to upload to a web server. The template's README notes that writing slides in Markdown requires each slide to be an individual file under _posts, which is tedious, so HTML is the recommended approach.

Alternatives

  • Reveal.js — a standalone HTML presentation framework that runs without Jekyll and offers similar slide deck features, but requires you to handle its own build or use it directly in the browser.