Parsoid/Broken wikitext tar pit

This page lists the baddest, hardest and least rewarding broken wikitext snippets we have come across that are really not worth tackling unless you feel very masochistic. Even then, it might actually be a bad idea to tackle this as it would create a lot of implementation complexity for little gain. We also have techniques like selective serialization to hide these issues under the rug. You have been warned!

These snippets might be round-tripped correctly in some cases, but that may just be accidental.

= Content fostered out of a table =

Any content that can show up outside table cells will get fostered out of the table by HTML clients (browsers, DOM libraries) and that content will not always be round-tripped back to its original form. Some specific examples below

Bare lists in tables
This kind of wikitext markup has been found on the following pages (might have since been edited and fixed):
 * en:Chicago's Northwest Side
 * Also see: Parsoid/Roundtrip_testpages

Content on a tr-row
This kind of wikitext markup has been found on the following pages (might have since been edited and fixed):
 * en:Food Science Australia
 * en:List of scooter manufacturers

= tag used as an extension =

Looks like this is more common than we thought which means we will recognize this as an extension (Bug 47579), but this will current suppress the use of the tag as a HTML5 tag.

is now a valid HTML5 tag and as such will not be recognized as an extension. The implication is that, the content found in the source tag will be treated as regular wikitext markup. Please use as the replacement

This kind of wikitext markup has been found on the following pages (might have since been edited and fixed):
 * en:Metaclass

= Missing closing tags =

Missing closing tags will get fixed up the HTML client based on the HTML5 spec. This may not always lead to final HTML that can be round-tripped back to the original source. Parsoid does a lot of work to keep track of auto-inserted or auto-deleted closing tags in many cases and round-trips them correctly, but this may not be possible in all cases (ex: unclosed wikitext-table). In general, it is possible that some wikitext markup with missing closing tags might round-trip back differently than the original.

{|
 * foo
 * bar
 * - |}
 * bar
 * - |}

This kind of wikitext markup has been found on the following pages (might have since been edited and fixed):
 * en:Bipropellant_rocket
 * en:Helena Douglas -- missing }}

= Table cells separated by a | char are parsed as attributes =