Wit

Writing text

Type sentences. Separate paragraphs with a blank line. That is a complete Wit document — everything on this page is what to add when plain prose isn't enough.

Paragraphs

A blank line starts a new paragraph. A single line break inside a paragraph is a soft wrap: HTML shows it as a space, so the sentence flows on.

The reactor logged a coolant spike at 03:12.

Two operators were on shift; neither
had left the control room.

That renders two paragraphs. One blank line or several makes no difference, and a line holding only spaces or tabs counts as blank, so text pasted from an editor that leaves trailing whitespace still splits correctly.

Indentation and line endings (CRLF, CR, LF) carry no meaning. Wit has no Markdown-style block syntax, so a line that opens with -, >, or 1970. is prose, not a list or a quote. Quotes stay straight (no smart-quote substitution).

Bold and italic

Two inline marks: *asterisks* for bold, _underscores_ for italic. Each wraps a run of text and can span several words, even a line break.

The lens held _the last of the evening light_, and the flame *never wavered*.

A mark needs a space or punctuation outside it and a non-space character inside. Pressed between letters or digits it stays literal, so arithmetic and identifiers are safe:

The product 5*6*7 and the name file_name_here both stay plain text.

Nest them with bold on the outside: *_both_* gives bold-and-italic. The reverse, _*x*_, italicises and leaves the asterisks literal.

Inline mark nodes

For anything past bold and italic, use the mark by name. Each maps to the same-named HTML element:

You writeFor
(code x code)inline code: commands, paths
(u x u)underline (reads as a link online)
(s x s)strike-through: was X, now Y
(sub x sub), (sup x sup)subscript, superscript
(mark x mark)highlight
(small x small)small print
@bra hard line break

In a run of prose:

Call (code shutdown() code) to scram; an (s old figure s) became a
(mark new one mark), with (small caveats small) in the footnotes.

Glue a node straight to a word for formulas and units — this is where the @name … name@ spelling earns its keep:

source
Water is H@sub 2 sub@O and the area is 12 km@sup 2 sup@.
result

Water is H2O and the area is 12 km2.

That renders "Water is H2O and the area is 12 km2."

@br takes no body or closer. A lone newline is a soft break; use @br for a real one — an address, a line of verse, a signature:

source
Ada Lovelace@br
12 Analytical Way@br
London
result

Ada Lovelace
12 Analytical Way
London

Markdown has no reliable inline break, so @br becomes a space there. Keep to HTML or PDF when hard breaks matter.

Comments

A comment is a note that never reaches the reader. A tilde followed by a space starts a line comment:

~ verify the coolant spike time against the incident log
The reactor logged a spike at 03:12.

Two tildes open a block comment and ~~/ closes it. It can vanish mid-sentence or span many lines:

The bell ~~ TODO: confirm the year ~~/ rang on the hour.

~~
Draft note: this passage may move to chapter two.
Ask the editor before cutting it.
~~/

A tilde glued to something else stays prose: "~5 minutes" and ~/Documents render as typed. A comment line between two lines of one paragraph disappears without joining the words around it.

Escapes

Put a backslash before any punctuation character to make it literal; the backslash is dropped. You need it when something would otherwise read as markup — most often an @word that isn't a definition, which is an error:

source
Ask \@ada on the forum. Write \*not bold\* and \_not italic\_.
Type \(em by hand em) to show the syntax.
result

Ask @ada on the forum. Write *not bold* and _not italic_. Type (em by hand em) to show the syntax.

That renders "Ask @ada on the forum. Write *not bold* and _not italic_." and "Type (em by hand em) to show the syntax." A backslash before a letter, digit or space is an ordinary character, so a Windows path like C:\Users\ada stays as typed.

Most prose needs no escapes. Email addresses, C#, URL fragments, a #hashtag, an @ followed by a space, and parentheses that don't start with a node name all stay prose:

source
Mail ada@example.org about C# (and the #release tag) — meet @ noon.
result

Mail ada@example.org about C# (and the #release tag) — meet @ noon.

See also