Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Penguin is a tool for creating presentations.
branch: master
Failed to load latest commit information.
assets Evaluate config file in Sinatra context. Set template engine explicitly.
bin Add Penguin::Server and #start CLI command.
lib Update readme for beta release.
spec Remove test code from Application and CLI test configuration out of s…
.gitignore Add Sprockets and basic example files.
LICENSE Slide. Update readme for beta release.
Rakefile Add rake dev task to start the sample presentation.
penguin.gemspec Remove Pry.


Penguin is a tool for creating web-based presentations using your preferred preprocessors.

Command line interface

penguin new NAME to generate a new project. penguin from inside a project directory to start the server.


All the files you will work with in creating your presentation use the basename "deck." Defaults are set for you when generating a new project with penguin new. For the HTML, CSS, and JS files, the file extensions should match whichever preprocessors you're using for the given type. The generator uses Haml, Sass, and CoffeeScript by default, but you can use any libraries you like.

  • deck.rb is the configuration file. Require any HTML template engine and CSS/JS preprocessors you want here. Call set :template_engine, :engine_name_here to tell Penguin which library to use for generating your HTML.

  • deck.haml is your presentation HTML.

  • deck.sass is your presentation stylesheet.

  • is your presentation JavaScript.

Presentation format

Your presentation deck is plain HTML. Each slide is denoted by a top-level element with a class of slide.


Penguin is available under the included MIT license. See LICENSE for details.

Something went wrong with that request. Please try again.