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 write | For |
|---|---|
(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 |
@br | a 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:
Water is H@sub 2 sub@O and the area is 12 km@sup 2 sup@.
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:
Ada Lovelace@br 12 Analytical Way@br London
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:
Ask \@ada on the forum. Write \*not bold\* and \_not italic\_.
Type \(em by hand em) to show the syntax.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:
Mail ada@example.org about C# (and the #release tag) — meet @ noon.Mail ada@example.org about C# (and the #release tag) — meet @ noon.
See also
- Structure & layout — headings, lists, blocks, and how nodes nest.
- Reuse — defining your own nodes.
- Escapes — every escape case in detail.