Docs

Overview

Document sections offer a convenient way to add complex elements to your novem documents. This page explains the basic concept along with common features shared across all sections.

AI assisted, human approved — novem uses AI to review and keep our documentation up to date.

Novem document sections use the same grammar as novem mail sections. There are two types:

  • Single statement sections
  • Multi statement sections

The single statement section consists of a statement and its parameters.

{{ section_type     # section open and type
  param: one        # parameters
  param: two        #
}}                  # section close

This is used for things like embedding visualisations or author blocks.

Multi statement sections have an opening and a closing tag with content between them.

{{ section_type         # section open and type
  param: one            # parameters
}}                      # close the header, open the body

Other text and markdown # section content
* list
* item

{{ /section_type }}     # closing tag

This is used for paragraphs, callouts and other wrapping sections.

If no parameters are needed, sections can be written on single lines:

{{ section_type }}
content
{{ /section_type }}

Single statement sections also support inline syntax where the parameters are comma-separated on a single line:

{{ vis ref: /u/demo/p/chart, width: 80%, align: left }}

All novem sections support spacing, border and colour controls. These work identically to their mail equivalents.

Use padding (p) and margin (m) with a directional indicator and a magnitude between 0 and 5.

 l  -- left
 r  -- right
 t  -- top
 b  -- bottom
 x  -- left and right
 y  -- top and bottom
 a  -- all sides
{{ para
  p: a3
  m: y2
}}
Content with padding and margin.
{{ /para }}

Use border or b with direction, size and optional colour.

{{ para
  b: [l3 blue-500, b1 gray-300]
}}
Content with left and bottom borders.
{{ /para }}

Use foreground (fg) and background (bg) with a named novem colour or hex code.

{{ para
  fg: gray-600
  bg: blue-50
}}
Styled content.
{{ /para }}