title: Zettelmarkup: Block-Structured Elements role: manual tags: #manual #zettelmarkup #zettelstore syntax: zmk back: 00001007000000 00001007010000 00001007040324 00001007050000 00001007800000 00001007906000 00001007990000 00001012931000 backward: 00001007000000 00001007010000 00001007031200 00001007040324 00001007050000 00001007800000 00001007906000 00001007990000 00001012931000 box-number: 1 copyright: (c) 2020-present by Detlef Stern created: 00010101000000 forward: 00001007030100 00001007030200 00001007030300 00001007030400 00001007030500 00001007030600 00001007030700 00001007030800 00001007030900 00001007031000 00001007031100 00001007031200 00001007031300 00001007031400 00001007040000 lang: en license: EUPL-1.2-or-later modified: 20220311181036 published: 20220311181036 visibility: 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](00001007030100) 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](00001007030200). # One-line blocks * [Headings](00001007030300) allow to structure the content of a zettel. * The [horizontal rule](00001007030400) signals a thematic break * A [transclusion](00001007031100) embeds the content of one zettel into another. # Line-range blocks This kind of blocks encompass at least two lines. To be useful, they encompass more lines. They begin with at least three identical characters at the first position of the beginning line. They end at the line, that contains at least the same number of these identical characters, beginning at the first position of that line. This allows line-range blocks to be nested. Additionally, all other blocks elements are allowed in line-range blocks. * [Verbatim blocks](00001007030500) do not interpret their content, * [Quotation blocks](00001007030600) specify a block-length quotations, * [Verse blocks](00001007030700) allow to enter poetry, lyrics and similar text, where line endings are important, * [Region blocks](00001007030800) just mark regions, e.g. for common formatting, * [Comment blocks](00001007030900) allow to enter text that will be ignored when rendered. * [Evaluation blocks](00001007031300) specify some content to be evaluated by either Zettelstore or external software. * [Math-mode blocks](00001007031400) can be used to enter mathematical formulas / equations. * [Inline-Zettel blocks](00001007031200) provide a mechanism to specify zettel content with a new syntax without creating a new zettel. # Tables Similar to lists are tables not specified explicitly. A sequence of table rows is considered a [table](00001007031000). 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 This is because headings need at least three equal sign character. A paragraph is essentially a sequence of [inline-structured elements](00001007040000). Inline-structured elements cam 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.