Plugins, Tools and Hardware

Göksenin Güngör edited this page Jul 18, 2018 · 119 revisions


A list of reveal.js plugins. Feel free to add your own!

pubnub-remote-control-plugin: Remote control a presentation using a web page or a Telegram bot via PubNub API.

menu: A slideout menu to quickly jump to any slide by title. Also optionally changes the theme and sets the default transition. (Demo)

toolbar A toolbar to quickly access reveal.js functionality such as fullscreen, notes and pause. (Demo) - compatible with reveal.js-menu

reveal.js-plugins: a collection including:

  • anything: a plugin for adding plots, charts, animated SVGs, or anything else inside an HTML object using a JSON string and a javascript function (Demo)
  • audio-slideshow: a plugin for easy audio playback and recording (Demo)
  • broadcast: A plugin for audio and video broadcast for slide presentations (Demo)
  • chalkboard: A plugin adding a chalkboard and slide annotation (Demo)
  • chart: a plugin for easy integration of charts (Demo)
  • customcontrols: a plugin for customization of controls (Demo)
  • mathsvg: An extension of the math.js plugin allowing to render LaTeX expressions in SVG.
  • spreadsheet : A plugin for adding Excel-like spreadsheets with formulas (Demo)

remeal: Fully featured customizable remote control tool. Powerful yet extremely simple in use.

d3js-plugin D3.js plugin to embed dynamic visualizations with transitions triggered by slide navigation (Demo)

RevealVizScroll: a plugin to create d3 visualizations similar to scrollytelling that transition nicely on your slides. (Demo Bigger Demo)

diagram-plugin: Plugin to add diagrams with transitions triggered by slide navigation, based on D3.js (Demo)

d3: Plugin to embed single/multiple dynamic javascript-based (D3.js, Vega, Vega-lite, Semiotic, etc ...) visualizations into slides with transitions triggered by slide navigation, with full support of reveal.js data-fragment-index. (Demo)

a11y: Slide accessibility plugin

PdfExport: Easly switch between screen and the built-in PDF export mode by pressing a shortcut key.

AltMode: Switch between multiple alternative configuartion presets eg. screen and presentation mode, day and night mode, etc. by pressing a shortcut key.

HelpButton: Open the help screen by pressing a button.

ThemeOverride: Override the themes of reveal.js and highlight.js

animate: A plugin for animated svg (Demo)

fullscreen-img: Use fullscreen images in slides (note there are several versions of this plugin floating about)

notell: Control reveal.js remotely from another browser tab or device

revealremote: Control your reveal.js presentation from a browser on any device with network connectivity

wave-plugin: Advance through your reveal.js presentation slides by waving in front of your webcam (Demo)

gamepad-plugin: Use your gamepad as a remote to advance through your slides

tagcloud-plugin: Tagcloud generator

per-slide theme override: Custom theme per slide using data-theme

otf-fragment-order: Make fragments appear in an order of your choosing while giving the presentation

math-katex-plugin Formula rendering with KaTeX (instead of MathJax)

code-focus: Focus on specific lines of code blocks. (Demo)

jump-plugin: Jump between slides by typing the number followed by enter

leap-motion: Navigate slides with your Leap Motion controller with an added "laser pointer" bonus

css-snippet: Live css editing in code blocks.

TOC-Progress: LaTeX Beamer-like progress indicator according to table of contents. (Demo)

Title-Footer Footer showing title of presentation. (Demo)

external: Load external files (HTML).

external: Load external Files (improved version, recursive inclusion and relative paths now possible)

RevealEditor: Editor for code demonstrations.

ga Google Analytics tracking for Reveal.js presentations.

mqtt-plugin: Plugin to add real-time data retrieving over MQTT to your slides.

sampler: Embed code samples taken directly from source files in your slides.

PrintRevealNotes: Print the speaker notes from a reveal.js presentation

embed-video: Embed local media (including live video) into a reveal.js presentation

ppt2reveal: Powerpoint macro to reveal

ace: Embed ACE editors into a reveal.js presentation (Demo)

speech: Navigate slides with your voice (Demo)

run-in-terminal: Add executable code examples

coursemod: Courseware plugin

KaTeX-for-reveal KaTeX support (alternative to MathJax)

elapsed-time-bar Add progress bar of elapsed time (Demo)

explicit-link Easier typing with explicit links (links with same href and text) (Source)

tts_basics: Basic Text-To-Speech - Have your show read out loud (Demo)

badges: Add badges to your code snippets (or other stuff)

Spotlight: Allows to highlight the current mouse position with a spotlight

Dummy-Mouse-Pointer: Create a presentation pointer tracking mouse movement

Typed: Implement a typewriter effect using Type.js - Demo and Github

Quizzes: Include simple, dynamic quizzes in your reveal.js presentation - Demo

Mapbox-GL: Embed interactive map slides- Demo

zero-index-main: This plugin sets your vertical 0 index as your main deck. Whenever you change your slide horizontally your vertical index will be set to zero.


Useful tools for working with reveal.js.

  • Visual editor for reveal.js, create presentations without knowing how to code.
  • Live editable example of the source code.
  • prez Generate Reveal.js slideshows from a set of markdowns.
  • deck2pdf Command-line tool for converting decks to PDF
  • decktape Another command-line tool for converting decks to PDF using PhantomJS
  • uncloak Reveal.js theme editor to tweak colors and font styles in a live GUI.
  • cleaver Reveal-cleaver-theme enables you to easily create a very easy way reveal.js slideshow from a dummy markdown file.
  • hacker-slides Visual editor; A simple app that combines Ace Editor and RevealJS
  • kreator.js Visual editor; A GUI for reveal.js
  • generator-reveal Yeoman generator for reveal.js
  • reveal-cli CLI tool for scaffolding (and deploying to GH Pages) reveal.js presentations
  • fab setup.revealjs fabric script: Set up a reveal.js presentation with slides written in markdown
  • slide-builder for programmatically adding fragments/steps to a slide (useful for embedding multi-step visualisations)
  • present : reveal.js Workflow Automation for automating workflow using bash, reveal.js, external markdown. allowing features like import markdown, reuse markdown and markdown library.
  • markdown-presenter.html A reveal.js presentation allowing to load and present local markdown files such as this one.
  • GitPitch just markdown then git-commit on any branch within a GitHub, GitLab, BitBucket, GitBucket, Gitea or Gogs repo for instant online and offline presentations.
  • emacs-reveal Generate reveal.js presentations with audio explanations as OER from simple texts in Org Mode with GNU Emacs
  • deveal A reveal.js helper tool to create and manage a presentation using templates and parameters files
  • AwesomeSlides makes awesome HTML5/CSS slides by converting slides made with LibreOffice. Output slides are based on Reveal.js with the AwesomeSlides plugin, which applies fancy CSS themes to slides.
  • reveal-hugo is a complete Hugo theme for Reveal.js with a clean, intuitive way to organize slide content.


Satechi SP-600 (Amazon)

7 keys plus laser: Linux udev keys binding

Equip Wireless Notebook Presenter 4-in-1 (Amazon)

Works well with Chrome. Linux Mint and Ubuntu-compatible. Features:

  • Mouse Pointer, Mouse Click
  • Slide forward, Slide back
  • Expose Mode (ESC)
  • Darken the Screen

MINIX NEO M1 2.4GHz Six-axis Air Mouse w/ Gyro (DealExtreme)

Should just work as an USB mouse/keyboard. Tested on Linux.

  • All 4 directional keys (left/right/up/down) and 'enter' (OK)
  • Mouse pointer, mouse left-click (but conveniently disabled when using the directional keys)
  • No ESC (expose mode) or darken-screen
  • Nice small USB dongle