Block
Markdown
The same kind of formatted passage as a Text block, but written with plain-text symbols instead of toolbar buttons.
What it is for
A Markdown block holds a passage you write with a few symbols: # at the start of a line for a
heading, a pair of asterisks around a word for bold, a dash for a bullet. You type on the left and
see a live preview on the right. Its special strength: it can show formatting that arrives with
your data. If a field you place in it contains Markdown, the result is a real heading, bold text or
list.
Choose Text instead when you are writing prose yourself, or when the data you insert comes from people (a customer comment, a free-text note). In a Text block a value is always printed exactly as it is, so nothing in your data can accidentally become a heading or bold. Text also has toolbar buttons, and Markdown does not. See Text and the example below.
Add and edit it
Choose Markdown in the Text group of the block palette, or search for "markdown". A new block starts with a heading and a line of sample text.
Double-click the block, or use Edit Markdown… in the side panel or on the block's own bar, to
open the Markdown window. The Source is on the left and the Preview on the right shows
the block exactly as the document will draw it, updating as you type. A Data bindings tree sits
beside them: click a field and a placeholder like {{ $data.notice }} goes in at your cursor. From
the keyboard press Ctrl+M (Shift+Option+M on a Mac) so that Tab moves on instead of
indenting, Tab to the field and press Enter; the placeholder goes in at your cursor and you are back
in the source. Press Ctrl+M again when you want Tab to indent.
Press Apply to keep the changes. Cancel, the ✕, Escape or the backdrop discard them; if you changed anything the window first asks "Discard your Markdown changes?".
What you can write
- Headings with one to six
#(## Terms). They scale up from the block's font size. - Paragraphs separated by a blank line.
- Bullet lists (
- item) and numbered lists (1. item), nested by indenting. A numbered list keeps the number it starts at:5. Firstcontinues6.,7.. Two numbered lists in one block each keep their own start. **bold**,*italic*,~~strikethrough~~and`inline code`(printed in a typewriter font).- Links:
[words](https://example.com). A link whose address is not allowed prints without its link and the preview warns you, naming it by its place ("the 2nd link in this block"), never showing the address. - A horizontal rule: a line with
---. - A code block fenced by a line of three backticks above and below: printed in a fixed-width font on a shaded background.
What you cannot write. Tables, block quotes, pictures, indented code blocks and raw HTML are not drawn. Each shows as a visible grey "unsupported" marker instead of quietly disappearing, so you notice. Use the Table block for a table.
Settings
The text itself is edited in the window above. The side panel holds the look of the whole block:
- Font size (points; default 11). Headings scale up from it.
- Font. The typeface. Inline code keeps its typewriter font.
- Color (default black). Links always print in the standard link colour.
- Alignment. Left (default), Center, Right or Justify, for every paragraph, heading and list item.
- Line spacing. Single, 1.5 lines, Double, At least, Exactly or Multiple, as in Word. Multiple uses the number box (1.2 is normal); At least and Exactly use At, an absolute height per line. Exactly never grows for larger text, so large text can clip.
- Space before and Space after (millimetres). Extra space above and below every paragraph, heading and list item; it adds to the neighbour's space rather than replacing it.
- Page split. How many lines of the first paragraph must fit at the bottom of a page before the block may start there (2 unless you change it). If fewer fit, the block starts on the next page.
- The general Box and Visibility sections.
There is no Bold or Italic control in the panel, by design: in Markdown you type the asterisks.
Data that brings its own formatting
This is the one place in the editor where a value from your data can change formatting. If the field
contains # Heading or **bold**, a real heading or bold text is drawn, not the symbols. The side
panel labels the block Formatting supplied by data.
A value brings formatting, never more fields: a {{ }} inside a value prints exactly as typed and
never reads any other part of your data. One place a value is never formatting: inside the address of
a link you wrote, such as [Track it](https://track.example.com/?id={{ $data.order.id }}). There it
only fills its part of the address (a space becomes %20, a ) cannot cut the link short), and a
value that is not a plain name in the site's host drops the link and warns you.
Variations and combinations
Terms written with symbols. A passage typed in the block with a heading, a sentence with a bold
phrase, a three-item numbered list and a link. The fixture is markdown-1.json. The page shows the
heading "Payment terms", the sentence with "within 14 days" in bold, the list "1. Interest is 1% per
month.", "2. Reminders are free of charge.", "3. Disputes must be raised within 7 days.", and the
link "example.com/terms".
A whole passage from the data. The block contains only {{ $data.notice }}. The fixture is
markdown-2.json. With notice = a string holding a ## Delivery notice heading, a sentence with
**will arrive tomorrow** and three - items, the page shows the heading, the sentence with bold
text, and three bullets. Another record with different Markdown prints with its own structure.
When to choose Text instead. A Text block reading Customer comment: {{ $data.comment }}. The
fixture is markdown-3.json. With comment = "Great service thanks! # not a heading", the page
shows exactly that text, asterisks and hash included. In a Markdown block the same value would turn
"thanks" bold and could turn a leading # into a heading. Use Text for anything people typed.
Output differences
- PDF and web page (HTML). The preview is drawn the same way as the finished document.
- Word (.docx). Headings, paragraphs, bold, italic, links and lists are written as ordinary Word paragraphs with their formatting. Bullets and numbers are written as characters in the text rather than Word's own list numbering, so Word does not renumber them.
- Page-number placeholders (
{{ $page.number }}) show as raw text in the preview, since one preview has no page to count; they fill in once the real document is paginated.
Page breaks inside a long block
A long block breaks across pages between paragraphs when it can. A single paragraph too long for the
page splits mid-paragraph at a line boundary, never mid-word. A heading is never left alone at the
bottom of a page: it moves down with the paragraph under it, with nothing to turn on. A reference
link ([words][name] with [name]: https://… on its own line) links wherever the two land.
Troubleshooting
- I see symbols like
**in the printed text. The block is a Text block, where symbols are never interpreted. In a Markdown block asterisks around a word become bold. - A grey "unsupported" marker appears. You used a table, quote, picture, indented code or raw HTML. Rewrite it, or use the Table block.
- A heading appeared from my data and I did not want it. The block is Markdown, so the data may format. Change the block to Text (Change type → Text; point at it first to see the result).
- The link prints without being clickable. Its address is not allowed. The preview warns you which link it is.
- Tab inserts spaces instead of moving on. Press Ctrl+M (Shift+Option+M on a Mac).