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:
novem -d quarterly_report -CIts 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:
---
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:
cat report.md | novem -d quarterly_reportOpen 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.
3. Add a cover and running footer
Insert these blocks after the closing --- line and before {{ page }}:
{{ 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:
{{ 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:
{{ 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:
{{ 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:
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:
novem -d quarterly_report -s +example~research -CAlternatively, to make the document public, run this command. Your novem profile must also be public:
novem -d quarterly_report -s public -CComplete report
This is the complete report.md file from the steps above:
---
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 }}