presenter(5) - SerenityOS man pages


presenter - Presenter slide presentation format (.presenter)


The presenter file format is a format for specifying slides and presentations in a JSON-based format. It is intentionally simple, allowing it to be written by hand. It is the native format of Presenter.

This manpage specifies version 1 of the presenter file format.

#Global structure

A presenter file contains a global JSON object with the following three properties:


Metadata consists of simple key-value pairs of properties, of which any may or may not be present. Metadata by default only contains non-complex JSON types, however this is not required. It is allowed to store other data in the metadata object, as it is not necessary for correct Presenter behavior to read most or any of the properties in this object.


Templates provide a simple way of re-using layout data for multiple slide objects. Templates are very simple and just specify the value of some slide object properties. It is therefore possible to apply multiple templates; the later templates will override values from the previous templates and the slide object properties themselves override any template properties.

Templates are given an ID as their key in the global templates object; this automatically ensures that template IDs are unique. The body of a template object is just the properties this template wishes to set for the slide objects that use it.


The slides array contains a list of slide objects, their JSON order determines their order in the presentation. Each slide object contains these properties:

#Slide Objects

Most slide objects are graphical objects of one of the pre-defined types. All graphical objects, like GUI widgets, have a bounding box rectangle which determines their position and size. Objects choose which frames they appear on.

In the file format, slide objects are JSON objects with the following basic properties:

The following types with their own special properties exist:

#See also