Zettelmarkup: Block-Structured Elements

Every markup for blocks-structured elements (“blocks”) begins at the very first position of a line.

There are five kinds of blocks: lists, one-line blocks, line-range blocks, tables, and paragraphs.

Lists

In Zettelmarkup, lists themselves are not specified, but list items. A sequence of list items is considered as a list.

Description lists contain two different item types: the term to be described and the description itself. These cannot be combined with other lists.

Ordered lists, unordered lists, and quotation lists can be combined into nested lists.

One-line blocks

Line-range blocks

This kind of block encompasses at least two lines. To be useful, it encompasses more lines. It begins with at least three identical characters at the start of the first line. It ends at the line that contains at least the same number of these identical characters, starting at the first position of that line. This allows line-range blocks to be nested. Additionally, all other block elements are allowed within line-range blocks.

Tables

Tables, similar to lists, are not specified explicitly. A sequence of table rows is considered a table. A table row itself is a sequence of table cells.

Paragraphs

Any line that does not conform to another blocks-structured element begins a paragraph. This has the implication that a mistyped syntax element for a block element will be part of the paragraph. For example:

= Heading
Some text follows.

will be rendered in HTML as

= Heading Some text follows.

This is because headings require at least three equal sign characters.

A paragraph is essentially a sequence of inline-structured elements. Inline-structured elements can span more than one line. Paragraphs are separated by empty lines.

If you want to specify a second paragraph inside a list item, or if you want to continue a paragraph on a second and more line within a list item, you must begin the paragraph with a certain number of space characters. The number of space characters depends on the kind of a list and the relevant nesting level.

A line that begins with a space character and which is outside of a list or does not contain the right number of space characters is considered to be part of a paragraph.