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.

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 }}