Skip to content

Quick Start Document

Build a report from a local markdown file, check it in the browser, and download it as a PDF or PowerPoint file.

AI-assisted, human-approvednovem uses AI to review and keep our documentation up to date.

Prerequisites

You need a novem account and the novem CLI. Complete the CLI setup with novem --init before starting.

The figures in this tutorial are fictional. The embedded chart uses the public Novem Example Index dataset.

1. Create the document

Run this command to create an empty document named quarterly_report:

Terminal
novem -d quarterly_report -C

Its address is https://novem.io/u/<username>/d/quarterly_report; replace <username> with your novem username. Sign in to the website to view it.

2. Add the first page

Create a local file named report.md and copy the following content into it:

report.md
---
title: Example portfolio review
subtitle: Third quarter 2026
author: Example Research
date: 2026-09-30
---

{{ page }}
# Overview

This report shows the allocation and returns of a fictional portfolio.

The YAML between --- lines supplies the report metadata. {{ page }} starts a page, followed by a markdown heading and paragraph.

Upload the file:

Terminal
cat report.md | novem -d quarterly_report

Open the document in your browser. It should show one portrait A4 page with the Overview heading and a page number in the footer. After each step below, save report.md, run the same upload command, and reload the document to check the result.

Insert these blocks after the closing --- line and before {{ page }}:

report.md
{{ footer cascade: true, al: right, sz: s }}
$title · $page / $pagecount
{{ /footer }}

{{ frontpage }}

frontpage uses the title, subtitle, author, and date from the metadata. The footer repeats on subsequent content pages because it has cascade: true; it does not appear on the cover. $title inserts the report title, and $page and $pagecount insert the page numbers.

After uploading, you should see the cover followed by the Overview page.

4. Add a page in two columns

Append this content to the file:

report.md
{{ page cols: 2 }}
## Markets {colspan: all}

The example equity allocation returned 5% during the quarter.
It represents 40% of the portfolio.

{{ colbreak }}

The example fixed income allocation returned 2% during the quarter.
It represents 40% of the portfolio.

cols: 2 gives the page two text columns. The heading spans both columns because it has {colspan: all}. colbreak puts the fixed income paragraph at the start of the second column.

5. Add KPI tiles and a bar table

Append this page:

report.md
{{ page }}
## Asset allocation

{{ kpis cols: 3 }}
{{ kpi label: "Portfolio value", value: "EUR 8M" }}
{{ kpi label: "Quarter", value: "+3%", sentiment: auto }}
{{ kpi label: "Year to date", value: "+10%", sentiment: auto }}
{{ /kpis }}

{{ table bars: 2, bars_max: 100, bar_color: 3 }}
| Asset class | Share | Colour |
|---|--:|---|
| Fixed income | 40% | blue |
| Equity | 40% | green |
| Alternatives | 15% | orange |
| Cash | 5% | gray |
{{ /table }}

cols: 3 places the KPI tiles in three equal-width columns. The two return figures use sentiment: auto, so their positive values receive the theme's positive colour.

In the table, bars: 2 displays the Share column as bars. bars_max: 100 makes each bar a proportion of 100%, so a 40% allocation fills two fifths of its track. bar_color: 3 reads the colours from the third column and hides that column in the rendered document.

6. Embed a plot

Append a page for the public demo plot:

report.md
{{ page }}
## Regional performance

The chart below uses the Novem Example Index demo dataset.

{{ vis ref: /u/novem_demo/p/nei_rgn_perf, width: 100%, caption: true }}

ref identifies the plot to embed. width: 100% uses the available page width, and caption: true includes the plot's caption. When the plot's data changes, a new render of the document uses the updated plot.

7. Add a page reference

Add this paragraph below the existing paragraph on the Overview page:

report.md
Asset allocation is on page {pageref##(Asset allocation)}.

The two # characters refer to a level-two heading, matching ## Asset allocation. The parentheses make the printed page number a link. If earlier content grows onto another page, the reference updates after pagination.

8. Download and share

Upload the completed file and check the cover, columns, bars, and embedded plot in your browser. In the document sidebar, choose Download PDF or Download PPTX. See Exporting for API commands and details of what remains editable in PowerPoint.

Sharing is optional. To share with an organisation group, replace +example~research below with the identifier of your group:

Terminal
novem -d quarterly_report -s +example~research -C

Alternatively, to make the document public, run this command. Your novem profile must also be public:

Terminal
novem -d quarterly_report -s public -C

Complete report

This is the complete report.md file from the steps above:

report.md
---
title: Example portfolio review
subtitle: Third quarter 2026
author: Example Research
date: 2026-09-30
---

{{ footer cascade: true, al: right, sz: s }}
$title · $page / $pagecount
{{ /footer }}

{{ frontpage }}

{{ page }}
# Overview

This report shows the allocation and returns of a fictional portfolio.

Asset allocation is on page {pageref##(Asset allocation)}.

{{ page cols: 2 }}
## Markets {colspan: all}

The example equity allocation returned 5% during the quarter.
It represents 40% of the portfolio.

{{ colbreak }}

The example fixed income allocation returned 2% during the quarter.
It represents 40% of the portfolio.

{{ page }}
## Asset allocation

{{ kpis cols: 3 }}
{{ kpi label: "Portfolio value", value: "EUR 8M" }}
{{ kpi label: "Quarter", value: "+3%", sentiment: auto }}
{{ kpi label: "Year to date", value: "+10%", sentiment: auto }}
{{ /kpis }}

{{ table bars: 2, bars_max: 100, bar_color: 3 }}
| Asset class | Share | Colour |
|---|--:|---|
| Fixed income | 40% | blue |
| Equity | 40% | green |
| Alternatives | 15% | orange |
| Cash | 5% | gray |
{{ /table }}

{{ page }}
## Regional performance

The chart below uses the Novem Example Index demo dataset.

{{ vis ref: /u/novem_demo/p/nei_rgn_perf, width: 100%, caption: true }}

Further reading

  • Pages describes covers, running headers and footers, numbering, and automatic pagination.
  • Layout covers columns and custom page layouts.
  • Tables and KPI tiles list the options used in the examples.
  • Themes explains how to change colours, fonts, and spacing.