Your browser doesn't support the features required for impress.js

(For best results, use the latest WebKit-based browsers)

Himpress

H askell + impress .js

Himpress is a tool designed to generate prezi style presentations using the newly-released impress.js.

Except the presentations are a bit more psychotic.

(Coincidentally, Himpress is written in Haskell)

Think of Himpress as a "markdown" for impress.js:

index.himhimpressindex.html

Himpress supports a number of different lightweight markup languages:

>>> markdown
*This is a test of how awesome Himpress' support for*
>>> textile
bq. lots of different markups 
>>> html
<span class="huge">is!</span>

Himpress can access all of impress.js' data attributes...

>>> move 10 10 10
By default, plain text is interpreted as markdown.
>>> move up
This is another presentation step.
>>> rotate 90
>>> rotate 180 37 42
>>> zoom out
>>> zoom 3.5

...as well as arbitrary attributes and css:

>>> class huge
This text will be big!
>>> move left
>>> id fooobar
>>> attribute data-awesomeness very very awesome
This next slide's id is "fooobar" and it has a 
data-awesome attribute value of "very very awesome!"

I wrote Himpress as a tool for presenting Haskell, so it also supports syntax highlighting for Haskell:


fibs = 1 : 1 : zipWith (+) fibs (tail fibs)

qsort :: (Ord a) => [a] -> [a]
qsort (x:xs) = qsort smaller ++ x : qsort larger
  where smaller = filter (<x)  xs
        larger  = filter (>=x) xs
qsort []     = []

(Himpress could also support all of the languages supported by John MacFarlane's highlighting-kate library - I just haven't gotten around to it.)

Want to use Himpress?

However, Himpress is very alpha! Future plans include more intuitive model for the 3d aspect of impress.js, as well as some degree of documentation.

© 2012, Matthew Sorensen.

This is all made possible by Bartek Szopka's awesome work on Impress.js