回到GitHub Wiki支持嵌入HTML表的日子里,现在我们所有的表都不再呈现了。是否正式删除了对HTML表的支持(无法找到相应的新闻或博客文章)?
答案 0 :(得分:6)
GitHub支持表标记,但它不像任何HTML文件那样可扩展。它几乎局限于维基所需的内容。在我看来,使用<table>
毫无意义,因为与GitHub wiki使用的其他降价相比,它们很累。
Markdown -
| First Header | Second Header |
| ------------- | ------------- |
| Content Cell | Content Cell |
| Content Cell | Content Cell |
预览 -
等效HTML -
<table>
<tr><th>First Header</th><th>Second Header</th></tr>
<tr><td>Content Cell</td><td>Content Cell</td></tr>
<tr><td>Content Cell</td><td>Content Cell</td></tr>
</table>
答案 1 :(得分:1)
根据GitHub的Markdown规范,Markdown解析器允许大多数raw HTML。重要的是标签必须从行的开头开始。在某些情况下,当原始块包含空行时,还有一些规则会更改行为。在adopting当前规范之前,我不确定它们是否对此严格,但这可能是改变的原因(一些示例输入将有助于缩小可能性)。
正如另一个答案所示,GitHub Flavored Markdown规范包含tables extension,因此您可以在Markdown中本地创建表。这样就无需将自己的HTML结构化为Markdown解析器。
但是,这只是GitHub处理输入的开始。在通过Markdown解析器传递输入之后,对于由github/markup项目中记录的Markdown生成的输出,还有四个额外的处理步骤。最可能的罪魁祸首是第二步,它清理HTML。如果您的原始HTML与非常狭窄的消毒剂的预期不符,那么它将被剥离。 santitizer的细节没有记录,但是code is available to review并且非常容易理解(即使对那些不熟悉Ruby的人也是如此)。
有趣的是,Markdown解析器肯定会输出santitizer允许的HTML,实际上是tables are allowed。但是,如果您使用原始HTML而不是Markdown表以获得更大的灵活性,那么Markdown没有给您的额外内容可能会导致清理程序占用您的表(例如,您只获得limited attributes,和improperly nests tags are stripped)。换句话说,原始HTML表格只能限制您使用Markdown表格获得的基本功能。鉴于Markdown表比原始HTML简单,大多数人只使用降价表。 YMMV。