我想构建一个像这样的复杂表:
| some thing | more important | up here |
|------------|----------------|---------|
| a |a1 | b |d | c |
|------------|----------------|---------|
| 1 |2 | 1 |2 | |
是否可以使用gf-markdown?
答案 0 :(得分:2)
不,这对GFM来说是不可能的,但是,可以使用原始HTML。
GitHub Flavored Markdown的规格为here。似乎没有对这种表构造的支持。值得注意的是,陈述如下:
标题行必须与单元格数中的分隔符行匹配。如果没有,表格将无法识别......
表格行的其余部分可能会有不同的单元格数量。如果有多个单元格小于标题行中的单元格数,则插入空单元格。如果有更多,则忽略超出部分。
在这种情况下,您提供的表格将被解释为:
| some thing | more important | up here |
|------------|----------------|---------|
| a | a1 | b |
| 1 | 2 | 1 |
也就是说,每行中的最后两个单元格将被忽略。如果可能有助于记住:
一列中的单元格不需要匹配长度,但如果它们更容易阅读。同样,使用前导管和尾随管也可能不一致。
因此,仅仅因为人类读者很容易理解您的表格,解析器就不会认识到您的列很好地对齐了。它只计算单元格的数量并忽略它们的实际对齐。
顺便说一句,在转换你的桌子时(我上面的例子),我注意到你包含了一个" deliminator row"在表的每一行之间。 " deliminator row"应该只在标题行和第一个数据行之间。
这并不意味着无法创建这样的表格。作为原始Markdown syntax rules状态:
对于Markdown语法未涵盖的任何标记,您只需使用HTML本身。
当然,出于安全原因,GFM disallows various raw HTML标记。但是,tables
不在列表中。因此,您应该能够以您想要的任何结构创建原始HTML表。
<table>
<thead>
<tr>
<th colspan="2">some thing</th>
<th colspan="2">more important</th>
<th>up here</th>
</tr>
</thead>
<tbody>
<tr>
<td>a</td>
<td>a1</td>
<td>b</td>
<td>d</td>
<td>c</td>
</tr>
<tr>
<td>1</td>
<td>2</td>
<td>1</td>
<td>2</td>
<td></td>
</tr>
</tbody>
</table>
您可以看到该表in this gist的示例(请参阅raw Markdown here)。我甚至将您的非工作原始示例包括在内进行比较。