<font face="courier new,monospace">## Teardown Table Specification<br><br>1.  Teardown Tables<br>    1.  The Simplest Table<br><br>2.  Basic Table Features<br>    1.  The Header<br>        a.  Basic Header<br>        b.  Multi-Line Header<br>
    2.  The Title<br>    3.  Rows<br>        a.  Clean Rows<br>        b.  Multi-Line Rows<br>        c.  Ruled Rows<br>    4.  Columns<br>        a.  Clean Cols<br>        b.  Ruled Columns<br>    5.  Ruled Rows and Ruled Columns<br>
    6.  The Footer<br><br>3.  Advanced Table Features<br>    1.  Cell Spans<br>        a.  Rowspan<br>        b.  Colspan<br>    2.  Cell Alignment<br>        a.  Vertical Alignment<br>        b.  Horizontal Alignment<br>
    3.  Advanced Headers<br>    4.  Empty Cells<br>    5.  Nested Tables<br>    6.  Multiple Bodies<br>    7.  Vertical Table Header<br><br>4.  Putting it all Together<br>    1.  A Complex Markeddown Table<br><br><br><br>
## 1. Teardown Tables<br><br>A table is an arrangement of terms into rows and columns.<br><br><br>### 1.1. The Simplest Table<br><br>Here is a very simple Teardown table with three rows and three columns (examples are delimited by PHP Markdown Extra fence blocks throughout):<br>
<br>~~~~~<br><br><br>      Elves      Rivendell    Sindarin<br>      Dwarves    Erebor       Khuzdul<br>      Hobbits    The Shire    Westron<br><br><br>~~~~~<br><br>It is the *visual alignment* of terms into rows and columns which makes the whole recognisable as a table to the reader.<br>
<br>It is the two leading (and trailing) line breaks which signal the beginning (and end) of a table to the parser, however.<br><br>Additionally, we can see that:<br>*   A line-break indicates a row-break,<br>*   Any 3 or more space symbols indicates a column-break.<br>
<br>That is the _very least_ you need to know in order to write Teardown tables.<br><br><br>## 2. Basic Table Features<br><br>The &quot;very least&quot; is not enough to satisfy all authoring needs.  For example, empty table cells are not supported by Simplest Table (above).<br>
<br>Teardown specifies a number of additional features which, combined, aim to address all but the most tricky cases.<br><br><br>### 2.1.  The Header<br><br>It is very often desirable to label columns of terms with a row of headings.<br>
<br>If included, this row of column headings is called the &quot;Header&quot;.<br><br>The Header is separated from the table Body by a line of equals symbols called the &quot;Line&quot;.<br><br>The table Header is always above the Line, and the table Body is always below the Line.<br>
<br><br>#### 2.1.a.  Basic Header<br><br>The Header is authored as per any other row in the table Body.  It is a series of terms at the top of a like series of aligned columns.  3 or more space symbols denote a column-break, just as they do in the Body of the table.<br>
<br>E.g.,<br><br>~~~~~<br><br><br>      People     Homeland     Tongue<br>    ====================================<br>      Elves      Rivendell    Sindarin<br>      Dwarves    Erebor       Khuzdul<br>      Hobbits    The Shire    Westron<br>
<br><br>~~~~~<br><br><br>#### 2.1.b.  Multi-Line Header<br><br>Header text can occupy more than line in the Header.  E.g.,<br><br>~~~~~<br><br><br>      Name of                 Spoken<br>      People     Homeland     Tongue<br>
    ====================================<br>      Elves      Rivendell    Sindarin<br>      Dwarves    Erebor       Khuzdul<br>      Hobbits    The Shire    Westron<br><br><br>~~~~~<br><br>Note the single line &quot;Homeland&quot; column header.  Empty cells and cell spans are discussed in section 3 (Advanced Table Features, below).  But even disregarding section 3, a parser can count the number of characters to determine which column the text &quot;Spoken&quot; belongs to.<br>
<br><br>### 2.2. The Title<br><br>It is often desirable to label a table with a title.<br><br>If included, a Title is any text between two unbroken lines of minus symbols which precede the table itself.  E.g.,<br><br>~~~~~<br>
<br><br>    ------------------------------------<br>         THE PEOPLE OF MIDDLE-EARTH<br>    ------------------------------------<br><br>      People     Homeland     Tongue<br>    ====================================<br>
      Elves      Rivendell    Sindarin<br>      Dwarves    Erebor       Khuzdul<br>      Hobbits    The Shire    Westron<br><br><br>~~~~~<br><br><br>### 2.3. Rows<br><br>Rows of columns make up the Body of a table.<br><br>
#### 2.3.a.  Clean Rows<br><br>Clean rows (so called because the markdown is uncluttered) are separated by a line-break.  E.g.,<br><br>~~~~~<br><br><br>      People     Homeland     Tongue<br>    ====================================<br>
      Elves      Rivendell    Sindarin<br><br>      Dwarves    Erebor       Khuzdul<br><br>      Hobbits    The Shire    Westron<br><br><br>~~~~~<br><br>Note that the more compact form used in example 1.1 (above) is ambiguous as to whether there are three lines of text in a single row, or a single line of text in each of three rows.  In this example, there is no such ambiguity.<br>
<br><br>#### 2.3.b. Multi-Line Rows<br><br>Multi-lined rows are also allowed;<br><br>~~~~~<br><br><br>      People     Homeland     Tongue<br>    ====================================<br>      Elves      Rivendell,   Quenya,<br>
                 Mirkwood,    Sindarin,<br>                 Lorien       Nandorin<br><br>      Dwarves    Erebor       Khuzdul<br><br>      Hobbits    The Shire,   Westron<br>                 Breeland<br><br><br>~~~~~<br>
<br>It is clear now that the compact form used in example 1.1 (above) would unambiguously be interpreted as three lines of text in a single row.<br><br><br><br>#### 2.3.c. Ruled Rows<br><br>Ruled rows are optional, unless colspans are needed (see below).<br>
<br>A Ruled-Row is *followed* by a line of minus symbols in which column-breaks are explicitly demarked by single space symbols.  E.g.,<br><br>~~~~~<br><br><br>      People     Homeland     Tongue<br>    ====================================<br>
      Elves      Rivendell,   Quenya,<br>                 Mirkwood,    Sindarin,<br>                 Lorien       Nandorin<br>    ----------- ------------ -----------<br>      Dwarves    Erebor       Khuzdul<br>    ----------- ------------ -----------<br>
      Hobbits    The Shire,   Westron<br>                 Breeland<br>    ----------- ------------ -----------<br><br><br>~~~~~<br><br>The first row-rule must appear *after* the first genuine row of table Body data.<br><br>
The last row-rule is optional (unless you want a footer, see below).  If it does appear it does so *after* the last genuine row of table Body data.  It describes the last row _and_ makes up the bottom table edge.<br><br><br>
### 2.4. Columns<br><br>Table data is arranged in Columns.<br><br>#### 2.4.a. Clean Cols<br><br>Clean columns (so called because the markdown is uncluttered) are implicitly delimited by 3+ space symbols between table content text.<br>
<br>This is demonstrated in most of the examples above.<br><br><br>#### 2.4.b. Ruled Columns<br><br>Ruled columns are optional, unless rowspans are needed (see below).<br><br>A Ruled-Column is *followed* by a column of consecutive pipe symbols, in which row breaks are explicitly demarked by an empty line.  E.g.,<br>
<br>~~~~~<br><br><br>      People   | Homeland   | Tongue<br>    ====================================<br>      Elves    | Rivendell, | Quenya,<br>               | Mirkwood,  | Sindarin,<br>               | Lorien     | Nandorin<br>
<br>      Dwarves  | Erebor     | Khuzdul<br><br>      Hobbits  | The Shire, | Westron<br>               | Breeland   |<br><br><br>~~~~~<br><br>Note that the column-rule extended into the table Header.<br><br>The leading (left-hand) and trailing (right-hand) column-rules are omitted above.  However:<br>
<br>A leading column-rule can optionally appear *before* the first genuine column of table Body data.  This rule, if it appears, is merely a decorative left-hand table edge.<br><br>The last column-rule is also optional.  If it appears it does so *after* the last genuine column of table Body data.  It describes the last column _and_ makes up the right-hand table edge.<br>
<br><br>### 2.5.  Ruled Rows and Ruled Columns<br><br>Ruled Columns can be combined with Ruled Rows like this:<br><br>~~~~~<br><br><br>      People   | Homeland   | Tongue<br>    ====================================<br>      Elves    | Rivendell, | Quenya,<br>
               | Mirkwood,  | Sindarin,<br>               | Lorien     | Nandorin<br>    ----------- ------------ -----------<br>      Dwarves  | Erebor     | Khuzdul<br>    ----------- ------------ -----------<br>      Hobbits  | The Shire, | Westron<br>
               | Breeland   |<br><br><br>~~~~~<br><br>Or, if you prefer to include the leading and trailing rules:<br><br>~~~~~<br><br><br>    --------------------------------------<br>          THE PEOPLE OF MIDDLE-EARTH<br>
    --------------------------------------<br><br>    |  People   | Homeland   | Tongue    |<br>     ====================================<br>    |  Elves    | Rivendell, | Quenya,   |<br>    |           | Mirkwood,  | Sindarin, |<br>
    |           | Lorien     | Nandorin  |<br>     ----------- ------------ -----------<br>    |  Dwarves  | Erebor     | Khuzdul   |<br>     ----------- ------------ -----------<br>    |  Hobbits  | The Shire, | Westron   |<br>
    |           | Breeland   |           |<br>     ----------- ------------ -----------<br><br><br>~~~~~<br><br><br>### 2.6.  The Footer<br><br>A table can optionally include a footer.<br><br>If a footer appears, it begins exactly one blank line after the trailing row-rule (which is also the bottom edge of the table).<br>
<br>The footer itself can contain any markdown (other than a nested table).<br><br>The footer is ended as soon as two empty lines (the end of table marker) are encountered.  E.g.,<br><br>~~~~~<br><br><br>    --------------------------------------<br>
          THE PEOPLE OF MIDDLE-EARTH<br>    --------------------------------------<br><br>    |  People   | Homeland   | Tongue    |<br>     ====================================<br>    |  Elves    | Rivendell, | Quenya,   |<br>
    |           | Mirkwood,  | Sindarin, |<br>    |           | Lorien     | Nandorin  |<br>     ----------- ------------ -----------<br>    |  Dwarves  | Erebor     | Khuzdul   |<br>     ----------- ------------ -----------<br>
    |  Hobbits  | The Shire, | Westron   |<br>    |           | Breeland   |           |<br>     ----------- ------------ -----------<br><br>     1. Elves have pointy ears.<br>     2. Dwarves wear thick beards.<br>     3. Hobbits have hairy feet.<br>
<br><br>~~~~~<br><br></font><br>