Deck: a Go package for presentations

7eca3e06edc3c69004aaf57de51900c2?s=47 Anthony Starks
September 20, 2013

Deck: a Go package for presentations

Deck is a library for clients to make scalable presentations, using a standard markup language. Clients read deck files into the Deck structure, and traverse the structure for display, publication, etc.

Clients may be interactive or produce standard formats such as SVG or PDF.

Deck also includes a Web API for listing content, uploading, stopping, starting, uploading and removing decks, generating tables, and playing video.

Deck has elements for text, lists, code, and graphics.

All layout in done in terms of percentages, and the content of the slides are automatically scaled based on the specified canvas size.

Deck uses a coordinate system with the origin (0%, 0%) at the lower left. The x (horizontal) direction increases to the right, with the y (vertical) direction increasing to upwards. For example, to place an element in the middle of the canvas, specify xp="50" yp="50". To place an element one-third from the top, and one-third from the bottom: xp="66.6" yp="33.3".

The size of text is also scaled to the width of the canvas. For example sp="3" is a typical size for slide headings. The dimensions of graphical elements (width, height, stroke width) are also scaled to the canvas width.


Anthony Starks

September 20, 2013