The slides are written in POSH - Plain Old Semantic HTML, with Neditor and GNU Emacs . They use only a small subset of HTML, carefully formatted with respect to line breaks. This allows to convert them to THTMLN with one proc
consisting of three string manipulation commands. THTMLN – Tcl HTML Notation – is inspired by TON .
Every slide has a <nav>
element with one link to the previous slide, on to the first (the start) and on to the next slide.
The thtmln package implements the HTML to THTHMLN converter and a THTMLN interpreter which occupies about 130 lines.
The slides are presented inside my Tcl/Tk Console via the slide package, which implements a frontend for the THTMLN interpreter, converting the slides to text
widget formated text.
The slide package also includes a slide navigator and the utility mkorder.tcl
to sort the slides according to the <nav>
links.
init.tcl does all the loading, plus an adaptive scaling of the fonts according to the screen size of the presentation.
This setup allows me to execute any code sample given in the slides directly inside the console.