Keyboard

↓ ↑
move between the rows you can see
→
open a feature, then step into it
←
close a feature, or step out to the one above
Enter
go to the page in focus
Tab
the same rows, plus everything else on the page
/
search the whole report
m
open or close the navigation drawer
Esc
leave the search box, or close the drawer
?
this list

Renders significant whitespace so a reader can count it

All 11 scenarios hold

The reporter publishes the value a row ran with, and not the text of the cell. It therefore writes every value back out, and each format writes that value back the way that format can.

Where the formats differ, the rules below show all three side by side. Markdown and AsciiDoc come first. Both are plain text, and both answer most questions alike. HTML comes last, because its answer is markup and always the longest.

A collection does not fit that shape. Markdown alone puts a whole collection inside a table cell. AsciiDoc opens a bulleted block or a description list below the cell. HTML nests list markup inside the cell. A table can hold neither of those, so the notation rule belongs to markdown alone.

Three kinds of whitespace are significant: whitespace at either edge of the value, a run of two or more spaces, and a tab. A single space between words stays as it is, and so does a value with no whitespace at all. A value that is empty holds no whitespace either, and the last row is here because a reader still has to tell it from a value that is missing.

Markdown and AsciiDoc are plain text, and have no styling available. They therefore put a glyph into the value itself. A space becomes an open box, and a tab becomes an arrow. AsciiDoc wraps every literal in ++ pass-through markers, whatever whitespace the literal holds. Those markers therefore run through its whole column.

HTML holds the real characters and marks them instead: one sp span per run of spaces, one tab span per tab. The stylesheet draws the dot and the arrow over those spans. A value copied off the page is therefore still the value the row ran with. A run at the end of the line takes a trailing mark as well. A layout cannot show that run, even where it holds the whitespace.

expected outcome broken scenario
ScenarioCellIn markdown?In AsciiDoc?In HTML?
Plain wordAliceAlice++Alice++<span class="literal">Alice</span>
Single internal spaceAlice SmithAlice Smith++Alice Smith++<span class="literal">Alice Smith</span>
Leading space' x'&#x2423;x&#x2423;++x++<span class="literal ws"><span class="sp"> </span>x</span>
Trailing space'x 'x&#x2423;++x++&#x2423;<span class="literal ws">x<span class="sp trailing"> </span></span>
Run of two spaces'a b'a&#x2423;&#x2423;b++a++&#x2423;&#x2423;++b++<span class="literal ws">a<span class="sp"> </span>b</span>
Tab between words'a b'a&#x21E5;b++a++&#x21E5;++b++<span class="literal ws">a<span class="tab"> </span>b</span>
Run of two tabs' '&#x21E5;&#x21E5;&#x21E5;&#x21E5;<span class="literal ws"><span class="tab"> </span><span class="tab"> </span></span>
Tab then space' '&#x21E5;&#x2423;&#x21E5;&#x2423;<span class="literal ws"><span class="tab"> </span><span class="sp trailing"> </span></span>
Spaces around a tab'a b'a&#x2423;&#x21E5;&#x2423;b++a++&#x2423;&#x21E5;&#x2423;++b++<span class="literal ws">a<span class="sp"> </span><span class="tab"> </span><span class="sp"> </span>b</span>
Whitespace-only value' '&#x2423;&#x2423;&#x2423;&#x2423;&#x2423;&#x2423;<span class="literal ws"><span class="sp trailing"> </span></span>
An empty value''""+""+<span class="literal empty-string">“”</span>