Docs

Overview

This document gives you an overview on how to create novem documents.

Novem documents let you create rich, multi-page documents from novem flavoured markdown. Embed live visualisations, reference live variables, add footnotes and references — all rendered into web pages, PDFs and presentations.

Impatient? Check out our quick start guide.

Documents, like most other novem visuals, follow the same hierarchical folder structure that you're used to seeing. A document has a primary file content where the markdown is stored, along with supporting configuration.

quarterly_report         => Document name
├── config               => Configuration options
│   ├── theme            => Color/logo theme
│   └── type             => Always "doc"
├── content              => Document content (novem markdown)
├── description          => Description (meta)
├── name                 => Display name (meta)
└── shared               => Who can view the document
    ├── +org~group       => Shared with an org group
    ├── @username~group  => Shared with a user group
    └── public           => Shared with everyone

Documents and mails share the same novem markdown foundation — the same section syntax ({{ }}), the same visualisation embedding, the same styling controls. If you're familiar with novem mails, documents will feel natural.

Documents extend mails with:

  • Multi-page support — split your document into pages with {{ page }}
  • Frontmatter — YAML metadata at the top of your document
  • Page layouts — portrait, landscape, multi-column
  • Variables — embed live values from your visualisations inline
  • Span sections — footnotes, references and inline colour styling
  • Header config — attach layout hints to headings

Creating a document is similar to other novem visuals — a HTTP PUT request to the https://api.novem.io/v1/vis/docs/DOC_NAME endpoint. Documents can also be created using any of our libraries or our web page.

# create a novem document
novem -d <name> -C

# add content from a file
cat report.md | novem -d <name>

# share publicly
novem -d <name> -w shared/public true