uPresent, pronounced "micro present", is a markdown flavor for writing presentations; uPresent presentations are written in a concise, intuitive syntax and are compiled into beautiful, lightweight HTML.
uPresent follows standard UNIX philosophy for compiling:
node publish.js [presentation.up] -o [presentation.html]
where presentation.up is the markdown file and presentation.html is the output file.
-o presentation.html can be omitted to print to the console.
To install, at the moment type
npm install in the working directory after cloning the repository and installing node.js and npm.
If uPresent is installed with
npm install -g),
node publish.js can be replaced with the single command
The first line of a uPresent presentation is the name of the presentation, always.
After the title and before the first slide, configuration options can be used. A "+" or "-" symbol will be the first character on the line, and then a configuration option will be specified. At the moment, the only configuration option supported is "bullet transition", although order of the words does not matter. If configuration is being specified, there must be a new line before the list of options and a new line after.
The rest of the presentation consists of a series of slides.
A slide is defined as a slide marker (a bunch of hyphens on their own line), followed by some content.
Within the content, most standard markdown rules apply (single underscores for italics, double asterisks for bold, a pound sign for a header, markdown image syntax, etc.)
Bullet points are created with a single tilde at the beginning of the line, and indented bullet points are created with two tildes.
An example presentation can be found in the
The HTML file generated by
publish.js will not standalone; by itself, it contains only crudely formatted content. When publishing a uPresent presentation, it is necessary to include the
scripts.js files in the same directory, and the relevant theme file in the themes/ folder; these files provide themeing and slide navigation features respectively.
However, this layout should only be used for creating the presentation. To actually publish the presentation, use the
-m flag with the publisher, which will generate a single, standalone HTML file which can be published by itself. In addition, this file is optimized to be smaller and faster than the development layout described in the above paragraph.
Special thanks to @hardmath123 for providing a great deal of feedback and design suggestions for the project during its infancy.