tilder, Documentation, Reference, The Markdown reference, Inline markup

Documentation

Name

inline - bold, italic, struck, underlined, code and links

Inside a paragraph, a list item, a table cell, a caption or an entry's ### title, tilder reads six constructs and nothing else. Each is shown below as source, then rendered in a frame, as it renders in any sentence of the site.

Bold and italic

Two asterisks on each side make bold text. One asterisk or one underscore on each side makes italic text.

A **bold** word, an *italic* one, and _another_ one.

A bold word, an italic one, and another one.

Both are written so that ordinary text is left alone:

  • *italic* must not touch a space on the inside, so 2 * 3 * 4 stays as written;
  • _italic_ works only around whole words, so snake_case stays as written.
2 * 3 * 4 is 24, and snake_case is not italic.

2 * 3 * 4 is 24, and snake_case is not italic.

On the web page, bold is <b> and italic <em>. The text mirror prints the words alone, without the marks.

A paragraph wrapped entirely in single asterisks is not italic: it is an empty state.

Struck and underlined

Two tildes on each side strike text through; two plus signs on each side underline it, with a dotted line, since a plain underline reads as a link on the web.

The meetup is on ~~Friday~~ Saturday, ++at noon++.

The meetup is on Friday Saturday, at noon.

++underlined++ follows the same rule as italics: not right after a letter, and not touching a space on the inside, so C++ and 1 ++ 2 stay as written. On the web page they are <del> and <u class="u">. The text mirror prints struck text with its tildes, ~~Friday~~: dropping them would change the meaning. Underlined text is printed plain.

Code

A word or a phrase between backquotes is code: set in the monospace font, and never read for any other markup.

Run `python3 builder/build.py`, and keep **`--watch` on** while you write.

Run python3 builder/build.py, and keep `--watch` on while you write.

The end of that example also shows the next rule: no nesting. The bold text holds the backquotes as they are, not code. Code cannot hold a backquote either. In the text mirror, code is printed as it is, and coloured in the ANSI mirror.

What stays literal

The six constructs do not nest: the first one found wins, and holds its content as plain text. There is no escape character: a backslash is an ordinary character, so it is printed, and does not stop the markup that follows it. Anything else, HTML included, is printed as written.

**[a link](docs/)** is bold, and <b>this</b> is not.
a \*b* c

[a link](docs/) is bold, and <b>this</b> is not. a \b c

The first line makes one paragraph: bold text holding a link's source, HTML shown as text. The second shows the backslash: a \*b* c prints a \, then an italic b, then c - the backslash did not stop the asterisk that follows it from opening italics. Rephrase rather than escape. The one exception is inside a table cell, where \| is a pipe (tables).

In the text mirror

The text mirror prints the words of every construct and drops their marks, except the tildes of struck text. An internal link keeps only its label, since a terminal reader reaches it with curl, not by copying it; a link to another site prints its address in parentheses after the label. Accents and typographic characters are folded to ASCII: accented letters lose their accents, typographic quotes and dashes become plain ones, and the north-east arrow of external links is dropped. Lines are wrapped at 75 columns (the text mirror).

See also

↑ back to top