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).
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.
- Comments under each slide
- Like button under each slide
- Share presentation on facebook, google+, etc.
- RSS channels for all courses or per course
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 email@example.com:tomvit/humla.git
After Humla has been downloaded, go to the humla directory and update submodules:
$ git submodule update --init --recursive
- NodeJS server
- Express framework
- MongoDB DB
- JSDOM module
- Cron module (https://github.com/ncb000gt/node-cron)
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:
1switches to the browser view
2switches to the slideshow view
3switches to the grid view
pswitches to the print view
5switches to the editor view
rightgoes to the previous and next slide respectively
eshows the last error if any
dtoggles the debug mode
ishows presentation content
Hometakes you to the 1st slide
Endtakes 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, http://www.gnu.org/licenses/gpl.txt