Private Homepage von Hans-Georg Eßer



Links / Social


Blaue Links: intern
🔗 Rote Links: extern


The Literate Programming Presentation Generator

Navigation: description | setup | usage | screenshot | download | license

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.


  1. 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.
  2. 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"


  1. Mark the relevant part(s) of the Literate Programming source file by inserting two lines
    (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.)
  2. 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.)
  3. 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.
  4. 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.
  5. Check the resulting slides and make changes if necessary (going back to step 3).
  6. 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.





LiPPGen itself is licensed unter the GPL, version 2; see, but contains two components which have their own licenses:

When creating derived works please mind all licenses.

Copyright © 1997-2024 Hans-Georg Eßer; Server: Debian Linux, Apache Web Server, letzte Änderung: Monday, 22-Jul-2013 22:14:12 CEST
Theme: Hazard Area 1.6 (modified), created by Bryan Bell, Copyright © 2000-2006