A tool for creating nice looking HTML5 presentations. :trollface:
JavaScript CSS Perl Python Ruby Makefile Shell
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.


hyhyhy Gem Version

A Ruby library for creating and outputting professional, business-looking (HTML5) presentations that can be viewed inside the browser!


hyhyhy is used from the Ruby CLI and relies on a series of steps that developers (and even regular users) can go through to build a simple presentation.

Once these steps completed, an HTML5 file is generated which can be accessed, viewed, and hosted online.


All hyhyhy presentations come with support for a wide range of features, like Markdown text formatting, page transitions, sequential transitions for objects on the page, syntax highlighting, and mathematical functions.

There’s also support for keyboard shortcuts, showing the position inside the overall presentation timeline, hashed URLs for easy deep-linking, automatic rebuilds on content changes, responsive layouts, and touch gestures on mobile devices.

All presentations are very well supported across browsers and the library also includes lots of documentation.

More reading:

  • Installation: Step-by-step instructions for getting hyhyhy running on your computer.
  • Quickstart: Step-by-step instructions for creating new project.
  • Commands: List of Ruby CLI commands.
  • Usage: Instructions stating how to use the framework.
  • Configuration: Explanation of configure the tool.
  • Dependencies: List of used dependencies in the project.
  • Supported browsers: Explanation of browser support and fallbacks.
  • Presentation: Explanation of use the generated project.
  • Example: Sample available immediately after installation.
  • Contributing: Explanation of how you can join the project.
  • Conceptions: List of ideas for the future.
  • License: Clarification of certain rules.


Binary installers for the latest released version are available at the RubyGems.

$ gem install hyhyhy

You can create a new project by generating structure like this. Make sure that the destination folder does not exist because it will be overwritten.

├── _assets                # Assets, own catalogs
│   ├── javascripts        # Scripts
│   │   └── main.js        # Core (presentation)
│   └── stylesheets        # Styles
│       └── main.css       # Default
├── _includes              # Bower components
│   └── bower.json         # Package list
├── _layouts               # Layouts
│   └── default.erb        # Basic template
├── _slides                # Slides/Sections
│   ├── 1.introduction.md  # First group
│   ├── 2.packages.md      # Second group
│   ├── ...                # ...
│   └── n.html             # Last gruop
├── .bowerrc               # Bower configure
├── .hyhyhy                # Hyhyhy configure
└── README.md              # Simplified guide


$ gem install hyhyhy
$ hyhyhy new
$ cd new_empty_presentation
$ hyhyhy build --watch --serve



Creates a default structure.

$ hyhyhy new


This function should splice all your slides/sections in one presentation. When you build your project it will generate a static version in the build folder that you can use.

$ hyhyhy build


Serve your presentation locally.

$ hyhyhy serve


Displays a brief summary of the basic functions.

$ hyhyhy --help


Displays a version.

$ hyhyhy --version




For now, you can change the basic variables in the .hyhyhy configuration file.

  "title": "hyhyhy",
  "description": "Pure & Professional presentations",
  "author": "Maciej A. Czyzewski"


  • Ruby (>= 1.9.3)
    • commander
    • kramdown
    • launchy
    • listen
    • erubis
    • bundler
    • rake
  • Javascript
    • prism.js
    • MetricsGraphics.js
    • katex.js
  • Others
    • bower (optional)

Supported browsers

  • Firefox 2+
  • Safari 3+
  • Opera 9.64+
  • Chrome
  • IE9, IE10, IE11


  • Press (space or shift + space), (left arrow or right arrow) and (k or j) to navigate.
  • Press h to launch fullscreen.
  • Press ESC to exit fullscreen mode.
  • Press gg/shift + g to move to top/bottom.
  • Browser zooming is supported.
  • Touch events are supported.


Sample available immediately after installation. You can see it live by clicking this link.


The goal was to make package that will speed up work on own presentation.Please feel free to contribute to this project! Pull requests and feature requests welcome! ✌️


  • speaker notes
  • travis tests
  • compression


See LICENSE file in this repository.