GUIDE 8 — ESCAPING AND TIPS

home | guide index


the escape rule

one rule: ; = literal ;

when you need a semicolon to stay as text and not trigger an operator, double it.

examples

;;             ->  ;
;;.            ->  ;.
;;"            ->  ;"
;;|            ->  ;|
;;^ not bold   ->  ;^ not bold (no formatting)
;;- not a list ->  ;- not a list (no bullet)

when to escape

when NOT to escape


escaping inside tables

table cells use ;t. as the cell closer. because ;t. is a dedicated closer,
regular ;. inside cell content does not clash — inline code, bold, italic all work
naturally inside cells without escaping.

if your cell content contains a literal ;t. or ;| as text, escape the semicolon:

;[ closer is ;;t. ;t.         works — shows ;t. as text
;[ closer is ;;| ;t.          works — shows ;| as text
;[ shows ;;^ bold ;;. ;t.     works — shows ;^ bold ;. as text
;[ ;` code ;. inside ;t.      works — ;. closes the code, ;t. closes the cell
what you writewhat renders
;
;|;|
;^ bold ;.bold
;";"

gotchas

operators need space after

;^ bold ;.     works (space after ;^)
;^bold;.       also works (parser trims whitespace)

both are valid. whitespace between operator and content is cosmetic.

5 closers — know which to use

;. closes inline content (headings, bold, code, links, items).
;| closes block containers (div, nav, form — mtml).
;" closes attributes (class, id, style — mtml).
;t. closes table cells (dedicated, no clash with inline ;.).
;q. closes raw passthrough (content passes through untouched).

;. vs ;| — leaf vs branch

;. closes inline content (leaf — no children).
;| closes block content (branch — has children inside).

;- leaf item ;.          no children
;- branch item           has children
  ;- child one ;.
  ;- child two ;.
;|

use ;. to end content. use ;| to end a container.

code blocks eat everything

between ;' and ;. everything is literal.
no operators are parsed inside. no escaping needed.
the closing ;. must be alone on its own line.

plain text is the default

if you don't type ; nothing happens. text stays text.
this is the opposite of markdown where _ * # > - are all active by default.

in marktxt, the only character that matters is ; — and only when followed by an operator character.


quick reference — what to escape

situationwriterenders as
literal semicolon;;
literal ;.;; + .;.
literal ;";; + ";"
literal ;|;; + |;|
semicolon in prosehowever; this workshowever; this works

prev: full element reference | guide index