Skip to content

Improve parsing malformed tables

Layout should not crash when processing malformed table layouts.

Lost <td> elements should get wrapped in anonymous rows. Other elements and texts should be placed before the table.

<table>
    <tr>
        <td>Jacob</td>
        <td>Siefer</td>
        <td>30</td>
    </tr>
    <tr>
        <!-- Pull out and place before table -->
        Some content
    </tr>
    <!-- Wrap in anonymous tr -->
    <td>test</td>
    <tr>
        <!-- Pull out and place before table -->
        Marry
        <td>Faith</td>
        <!-- Pull out and place before table -->
        39
    </tr>
</table>

Invalid row-/col-span should create missing columns or be ignored when in conflict with other spans.

<table>
    <tr>
        <td>Joe</td>
        <td rowspan="2">Nash</td>
        <td>30</td>
    </tr>
    <tr>
        <td>John</td>
        <td rowspan="2">Smith</td>
        <td>35</td>
    </tr>
    <tr>
        <td>Marry</td>
        <td>Faith</td>
        <td>39</td>
    </tr>
    <tr>
        <td>Bob</td>
        <td rowspan="2">Buckland</td>
        <td>39</td>
    </tr>
    <tr>
        <td colspan="3">Rachel</td>
        <td>39</td>
    </tr>
    <tr>
        <td>End</td>
    </tr>
</table>
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information