Ready to take your JavaScript development to the next level? Meet npm Enterprise - the ultimate in enterprise JavaScript.Learn more »


1.0.0 • Public • Published


Join the chat at

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 compiles this to this.


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 -g (e.g.: npm install -g), node publish.js can be replaced with the single command up.


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 test.up file.


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 common.css and 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

Special thanks to @hardmath123 for providing a great deal of feedback and design suggestions for the project during its infancy.


npm i upresent

Downloadsweekly downloads









last publish


  • avatar
Report a vulnerability