Two years ago I had to do a lecture about programming. To prepare it I've used a home made tool, Expo, which I've cleaned up and will introduce in this article.
In term of features, the presentation is divided into pages which can be grouped into chapters. The user can navigate through pages and chapters with cursor keys or by clicking buttons at the bottom of the pages. A table of content is automatically generated, with links toward each page for quick navigation. Links can also be used as reference to access a given page automatically. A demo is available here. I've used it in Chrome, the quirks of web technos being what they are I can't guarantee it works in all browsers. Still, there is really nothing fancy here and one should expect no particular problem.
How to use it:
Download the template here. Edit the style section to change the look of your presentation or leave the default one. Edit the title section with the title of your presentation. Edit the #header div with some content that will be displayed above all pages, and/or the #footer div (at the end of the body) with content displayed below all pages.
Now you're ready to add the content of the presentation. To add a page, add a new div into the #pages div.
class="page" indicates it's a page. data-title="A new page" is the title of the page as displayed in the ToC. Pages are ordered as they are in index.html.
To group pages into chapters, add a new chapter div into the #pages div.
Same as for pages, class="chapter" indicates it's a chapter. data-title="A new chapter" is the title of the chapter as displayed in the ToC. Chapters are ordered as they are in index.html.
Then add pages to that chapter's div just as you've added pages previously.