Zettelmarkup: Block-Structured Elements manual manual zettelmarkup zettelstore zmk 00001007000000 00001007010000 00001007040324 00001007050000 00001007800000 00001007906000 00001007990000 00001012931000 00001007000000 00001007010000 00001007031200 00001007040324 00001007050000 00001007800000 00001007906000 00001007990000 00001012931000 1 (c) 2020-present by Detlef Stern 20210126175322 00001007030100 00001007030200 00001007030300 00001007030400 00001007030500 00001007030600 00001007030700 00001007030800 00001007030900 00001007031000 00001007031100 00001007031200 00001007031300 00001007031400 00001007040000 en EUPL-1.2-or-later 20250627132222 20250627132222 public 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 Headings allow you to structure the content of a zettel. The horizontal rule signals a thematic break A transclusion embeds the content of one zettel into another. 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. Verbatim blocks do not interpret their content, Quotation blocks specify a block-length quotations, Verse blocks allow to enter poetry, lyrics and similar text, where line endings are important, Region blocks just mark regions, e.g. for common formatting, Comment blocks allow you to enter text that will be ignored when rendered. Evaluation blocks specify some content to be evaluated by either Zettelstore or external software. Math-mode blocks can be used to enter mathematical formulas / equations. Inline-Zettel blocks provide a mechanism to specify zettel content with a new syntax without creating a new zettel. 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.