Files
Overview
Novem is heavily inspired by the unix philosophy of “everything is a file”. As such our API is implemented as a hierarchical file system that can be mounted on your local disk using our fuse library.
As part of this we wanted to make sure that these virtual files supported sensible extension and content expectations. This document provides a short overview of the kind of files you can expect to find in the novem api and how to interact with them.
Inputs
All of our interactions are performed by standard HTTP verbs over HTTPS. If an operation requires submitting data, this is done by providing utf-8 encoded plain text as the body of the post request.
There are a few exceptions, such a registering user accounts, but those are
marked as system_dir
and system_file
and can safely be ignored when
interacting with the API.
Output
Output formats can vary a bit more than the plain text of the input, but mostly you’ll encounter either json for visualisations or dir entires, or plain text for control and data files.
The output of visualisations can be presented in more ways than viewing the web presentations or the e-mails, so we also provide a collection of special purpose output formats, like PDF or a pre-rendered image.
Their outputs are accessible in two different ways, either by appending the
corresponding extension to the canonical url
of our charts or by accessing the file in the individual visualisations /files
folder.
Formats
Different visualisations support different output formats, both depending on the type of visualisation (mail, plot, grid, doc) and the individual subtypes (table plot vs line plot).
If you’re curious what types are available you can always list the content
of the /files
folder of the visual, but we’ve provided a rough overview below
as well. Further details are also documented under the sections for the
different visualisation type.
Portable Document Format pdf
The Portable Document Format, or PDF, developed by Adobe in the ’90s is the current gold standard in document sharing. Mostly because it always looks the same and prints pretty well.
Many users still prefer to print documents for meetings, analysis and offline reading, and PDF is the go-to format for these use cases.
It was important to us that our documents would look good when printing, so we’ve created a separate rendering pipeline for our PDF documents to make sure we get the best experience.
You can control several aspects of the pdf rendering process under the
/config/render
endpoint for the relevant visuals.
Portable Network Graphics png
While PDF is the gold standard for documents, PNG is an excellent format for digitally rendered images. Although the customization options for PNG files are not as extensive as those for PDF files, our visuals also provide PNG versions of their output for convenient use in digital environments.
American National Standards Institute Escape Codes ansi
Whilst novem was initially intended to let you create web visualisations from the command line, the advent of cool services such as wttr.in inspired us to try and create an ascii art version as well.
If you try to curl <url>
of any of our visuals that support an ansi
output
you should receive the ansi version instead. You can also add the .ansi
extension to be explicit.
The ansi version uses 256-color ansi escape codes and utf-8 box drawing
characters. To see if your current terminal and font supports it. try
curl -L novem.io/terminal
.
Text txt
The text version is a simplified version the above ansi output, but without colors.