HTML5 Presentation Environment
JavaScript Shell
Pull request Compare This branch is 252 commits ahead, 69 commits behind tomvit:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Humla is an open source presentation & lecture hosting environment based on node.js server. As a presentation frontend, or as we call it a 'client', it uses beautiful HTML5 slides inspired by HTML5Rocks, but with many extra features (Comments, Likes, Tests...).

Similarly as Beamer exist for Latexers, Humla'a aim is to provide environment for creating slides for presentations in HTML while utilizing extensive HTML5 features. Humla is particularly useful for technical presentations and was originally created as a tool for the Czech Technical University courses Middleware and Web Services and Web 2.0.

Humla is easy extendable by client and/or server extensions (or plugins if you mind).

To see Humla in action, see Lecture 1 of Web Services and Middleware or Web 2.0course.

We are currently working on server API, IDE, semantic analyzers and other stuff.

Feel free to fork Humla, write plugins and patch it yourself!


  • Every slide has a unique URL.
  • Plugin architecture with views and extensions.
  • A view allows to define the way how slides are presented; there is currently a browsing view for convenient slides browsing, a slideshow view for presentations, a grid view for overview of slides in a presentation, and a print view for printing slides.
  • An extension defines processing of slides' content such as for replacment of variables, online integration with pictures from Google Drawing, online integration with github to display a code, Latex formulas, etc.

Server Features

  • Comments under each slide
  • Like button under each slide
  • Share presentation on facebook, google+, etc.
  • RSS channels for all courses or per course

Browser Support

Humla currently works and is tested on the latest versions of Chrome and Safari - but we hope to support other browsers soon.


You may use humla client (HTML5 frontend) as a standalone library then please follow these steps:

/TODO: setup Via git (or downloaded tarball):

$ git clone

After Humla has been downloaded, go to the humla directory and update submodules:

$ git submodule update --init --recursive



To run test.html in examples locally, you need to start your browser with options to run XHR on local files. For example, to enable Chrome to run XHR on local files start it with the argument --args --allow-file-access-from-files. If you can access test.html at a Web server, just point your browser to it.

Use the following keys to navigate in the presentation:

  • 1 switches to the browser view
  • 2 switches to the slideshow view
  • 3 switches to the grid view
  • 4 or p switches to the print view
  • 5 switches to the editor view
  • left, right goes to the previous and next slide respectively
  • e shows the last error if any
  • d toggles the debug mode
  • i shows presentation content
  • Home takes you to the 1st slide
  • End takes you to the last slide

See Lecture 1 of Web Services and Middleware course for more information on how Humla can be used for making presentations.


The GPL version 3,