Known limitations
What Wit 0.3 does not do, or does with a rough edge, and the workaround. Each
row was checked against the current build.
Authoring
| Limitation | What happens | Workaround |
|---|
a block definition missing its name# | it stays prose — #chapter and its text print as written, and a use of it is E_UNRESOLVED_REFERENCE | close every block definition |
a misspelt key on a core node, @img(src: a.png, atl: A) | no error; the text joins the previous value — src="a.png, atl: A" — and wit check warns W_SUSPECT_PARAM | check keys against core vocabulary |
| a positional value with a comma | E_TOO_MANY_ARGUMENTS — by design | pass it by name |
::body:: outside a definition | removed from the text | escape it: \::body:: |
@load inside a sentence | E_UNRESOLVED_REFERENCE for @load | give it its own lines |
Data and rendering
| Limitation | What happens | Workaround |
|---|
| a bare reference to a record or collection | an empty <div class="wit-node"> | read a field, loop, or use @table(rows: @x) |
title on a, poster on video | accepted, not emitted | a definition over @node, or post-process the HTML |
| the HTML renderer has no options per node | one fixed HTML shape per core name | restyle with CSS, or write a renderer |
| table centring comes from the theme | --raw tables are not centred | add your own CSS |
Tooling
| Limitation | Workaround |
|---|
| PDF needs a system Chrome or Chromium | install one, or set WIT_CHROME |
| a table of contents has no page numbers; footnotes print as endnotes | Chrome's PDF can't do either; links and bookmarks stand in |
| no watch mode | run wit build from your editor or a file watcher |
| source config is JSON only | use wit.sources.json |
See also
Gotchas · Errors · Data model · Roadmap.