pulldown-cmark 0.4.0

A pull parser for CommonMark
Documentation
Run this with `cargo run -- -T -s specs/table.txt`.

Adapted from original by replacing `td` elements by `th` elements inside `thead`
and disabling the third test.

False match
===========

```````````````````````````````` example
Test header
-----------
.
<h2>Test header</h2>
````````````````````````````````


True match
==========

```````````````````````````````` example
Test|Table
----|-----
.
<table><thead><tr><th>Test</th><th>Table</th></tr></thead>
</table>
````````````````````````````````


Actual rows in it
=================

```````````````````````````````` DISABLED example
Test|Table
----|-----
Test row
Test|2

Test ending
.
<table><thead><tr><th>Test</th><th>Table</th></tr></thead>
<tr><td>Test row</td></tr>
<tr><td>Test</td><td>2</td></tr>
</table>
<p>Test ending</p>
````````````````````````````````


Test with quote
===============

```````````````````````````````` example
> Test  | Table
> ------|------
> Row 1 | Every
> Row 2 | Day
>
> Paragraph
.
<blockquote>
<table><thead><tr><th>Test  </th><th> Table</th></tr></thead>
<tr><td>Row 1 </td><td> Every</td></tr>
<tr><td>Row 2 </td><td> Day</td></tr>
</table>
<p>Paragraph</p>
</blockquote>
````````````````````````````````


Test with list
==============

```````````````````````````````` example
 1. First entry
 2. Second entry

    Col 1|Col 2
    -|-
    Row 1|Part 2
    Row 2|Part 2
.
<ol>
<li>
<p>First entry</p>
</li>
<li>
<p>Second entry</p>
<table><thead><tr><th>Col 1</th><th>Col 2</th></tr></thead>
<tr><td>Row 1</td><td>Part 2</td></tr>
<tr><td>Row 2</td><td>Part 2</td></tr>
</table>
</li>
</ol>
````````````````````````````````


Test with border
================

```````````````````````````````` example
|Col 1|Col 2|
|-----|-----|
|R1C1 |R1C2 |
|R2C1 |R2C2 |
.
<table><thead><tr><th>Col 1</th><th>Col 2</th></tr></thead>
<tr><td>R1C1 </td><td>R1C2 </td></tr>
<tr><td>R2C1 </td><td>R2C2 </td></tr>
</table>
````````````````````````````````


Test with empty cells
=====================

Empty cells should work.

```````````````````````````````` example
| Col 1 | Col 2 |
|-------|-------|
|       |       |
|       |       |
.
<table><thead><tr><th> Col 1 </th><th> Col 2 </th></tr></thead>
<tr><td>       </td><td>       </td></tr>
<tr><td>       </td><td>       </td></tr>
</table>
````````````````````````````````

... and properly mix with filled cells.

```````````````````````````````` example
| Col 1 | Col 2 |
|-------|-------|
|   x   |       |
|       |    x  |
.
<table><thead><tr><th> Col 1 </th><th> Col 2 </th></tr></thead>
<tr><td>   x   </td><td>       </td></tr>
<tr><td>       </td><td>    x  </td></tr>
</table>
````````````````````````````````


Table with UTF-8
================

Basic example.

```````````````````````````````` example
|Col 1|Col 2|
|-----|-----|
|✓    |✓    |
|✓    |✓    |
.
<table><thead><tr><th>Col 1</th><th>Col 2</th></tr></thead>
<tr><td>✓    </td><td>✓    </td></tr>
<tr><td>✓    </td><td>✓    </td></tr>
</table>
````````````````````````````````

More advanced example.

```````````````````````````````` example
|  Target                       | std |rustc|cargo| notes                      |
|-------------------------------|-----|-----|-----|----------------------------|
| `x86_64-unknown-linux-musl`   |  ✓  |     |     | 64-bit Linux with MUSL     |
| `arm-linux-androideabi`       |  ✓  |     |     | ARM Android                |
| `arm-unknown-linux-gnueabi`   |  ✓  |  ✓  |     | ARM Linux (2.6.18+)        |
| `arm-unknown-linux-gnueabihf` |  ✓  |  ✓  |     | ARM Linux (2.6.18+)        |
| `aarch64-unknown-linux-gnu`   |  ✓  |     |     | ARM64 Linux (2.6.18+)      |
| `mips-unknown-linux-gnu`      |  ✓  |     |     | MIPS Linux (2.6.18+)       |
| `mipsel-unknown-linux-gnu`    |  ✓  |     |     | MIPS (LE) Linux (2.6.18+)  |
.
<table><thead><tr><th>  Target                       </th><th> std </th><th>rustc</th><th>cargo</th><th> notes                      </th></tr></thead>
<tr><td> <code>x86_64-unknown-linux-musl</code>   </td><td>  ✓  </td><td>     </td><td>     </td><td> 64-bit Linux with MUSL     </td></tr>
<tr><td> <code>arm-linux-androideabi</code>       </td><td>  ✓  </td><td>     </td><td>     </td><td> ARM Android                </td></tr>
<tr><td> <code>arm-unknown-linux-gnueabi</code>   </td><td>  ✓  </td><td>  ✓  </td><td>     </td><td> ARM Linux (2.6.18+)        </td></tr>
<tr><td> <code>arm-unknown-linux-gnueabihf</code> </td><td>  ✓  </td><td>  ✓  </td><td>     </td><td> ARM Linux (2.6.18+)        </td></tr>
<tr><td> <code>aarch64-unknown-linux-gnu</code>   </td><td>  ✓  </td><td>     </td><td>     </td><td> ARM64 Linux (2.6.18+)      </td></tr>
<tr><td> <code>mips-unknown-linux-gnu</code>      </td><td>  ✓  </td><td>     </td><td>     </td><td> MIPS Linux (2.6.18+)       </td></tr>
<tr><td> <code>mipsel-unknown-linux-gnu</code>    </td><td>  ✓  </td><td>     </td><td>     </td><td> MIPS (LE) Linux (2.6.18+)  </td></tr>
</table>
````````````````````````````````

Hiragana-containing pseudo-table.

```````````````````````````````` example
|-|-|
|ぃ|い|
.
<p>|-|-|
|ぃ|い|</p>
````````````````````````````````

Hiragana-containing actual table.

```````````````````````````````` example
|ぁ|ぃ|
|-|-|
|ぃ|ぃ|
.
<table><thead><tr><th>ぁ</th><th>ぃ</th></tr></thead>
<tr><td>ぃ</td><td>ぃ</td></tr>
</table>
````````````````````````````````

Test russian symbols.

```````````````````````````````` example
|Колонка 1|Колонка 2|
|---------|---------|
|Ячейка 1 |Ячейка 2 |
.
<table><thead><tr><th>Колонка 1</th><th>Колонка 2</th></tr></thead>
<tr><td>Ячейка 1 </td><td>Ячейка 2 </td></tr>
</table>
````````````````````````````````