LiPPGen

What is it? Features

LiPPGen, the Literate-Programming-based Presentation Generator,
takes a standard Literate Program (with LaTeX as documentation
language) as input and lets the instructor comfortably generate
presentation slides for each code chunk. It then assembles the
provided slide texts and the code chunks and turns them into a
browser-based presentation.

Setup

Copy the lippgen and lippgen-sanitize files to some directory in
your path (e.g. /usr/bin/ or ~/bin).
Create /usr/share/lippgen/ and recursively copy the lippgen.d/
directory into that new directory. If you cannot write in /usr/share
you can pick some other location but will then have to modify the line

LIPPGEN_D = "/usr/share/lippgen/lippgen.d"

in the lippgen script.

Check if the pre-configured port number 12349 of lippgen is free on
your machine -- if not, change it to something else in the line

PORT = 12349

Modify the command which opens a URL in a web browser; it is currently
set to

BROWSER_COMMAND = "open %s -a \"Google Chrome\""

which works on a Mac with Google Chrome in-stalled. For Firefox on a
Linux machine the proper command would be

BROWSER_COMMAND = "firefox -new-tab %s"

Usage

Mark the relevant part(s) of the Literate Programming source file by
inserting two lines

%%% BEGIN LITERATE TEACHING %%%

and

%%% END LITERATE TEACHING %%%

(without any leading spaces) around each part that is to be included
in the slides. (You can omit the last end marker; in that case LiPPGen
will go on processing until the end of the document.)

Run ./lippgen on the file, e. g. by issuing the command

./lippgen example.nw

This produces a file example.form.html and opens it in the
preconfigured browser. (The default language for syntax highlighting
is C. If you want Python instead, use Python as a second argument to
lippgen. If you use a different language, modify the program.)

In the browser, fill in the text input boxes next to the code chunks.
You can leave input boxes empty if you want to create slides that have
only code on them. Click Send at the end of the page.

Submitting will transfer the input boxes' contents to the program's
built-in server, where the processing continues. Your entries in the
fields will also be saved in example.lip so that it will be reused if
you run lippgen on the same file again (the input boxes will already
be filled with the entries from the last time).
This step creates the final presentation file example.html and opens
it in the browser.

Check the resulting slides and make changes if necessary (going back
to step 3).

For exporting to a web server, copy the HTML file and the automatically
generated lippgen.d sub-directory to the web server. All files in that
sub-directory are referenced via relative "lippgen.d/..." URLs, so the
file should display properly at once.