有可能在Markdown中创建一个没有标题的表吗?
HTML看起来是这样的:
<table>
<tr>
<td>Key 1</td>
<td>Value 1</td>
</tr>
<tr>
<td>Key 2</td>
<td>Value 2</td>
</tr>
</table>
有可能在Markdown中创建一个没有标题的表吗?
HTML看起来是这样的:
<table>
<tr>
<td>Key 1</td>
<td>Value 1</td>
</tr>
<tr>
<td>Key 2</td>
<td>Value 2</td>
</tr>
</table>
当前回答
<style>
.headerless th {
display: none;
}
</style>
<div class="headerless">
| | |
|---|---|
|Some |table |
| WITHOUT | header |
</div>
|This|is|
|---|---|
|Some |table |
| WITH |header |
其他回答
通用解决方案
不幸的是,许多建议并不适用于所有Markdown查看器/编辑器,例如,流行的Markdown查看器Chrome扩展,但它们确实适用于iA Writer。
在这两种流行的程序中(可能也适用于您的特定应用程序)使用HTML注释块('<!- - - - - >”):
| <!-- --> | <!-- --> |
|-------------|-------------|
| Foo | Bar |
就像前面提到的一些建议一样,这确实会在Markdown查看器/编辑器中添加一个空标题行。在iA Writer中,它在美学上足够小,不会对我造成太大影响。
我得到了这个工作与Bitbucket的Markdown使用一个空链接:
[]() |
------|------
Row 1 | row 2
$ cat foo.md
Key 1 | Value 1
Key 2 | Value 2
$ kramdown foo.md
<table>
<tbody>
<tr>
<td>Key 1</td>
<td>Value 1</td>
</tr>
<tr>
<td>Key 2</td>
<td>Value 2</td>
</tr>
</tbody>
</table>
大多数Markdown解析器不支持没有标题的表。这意味着头的分隔线是强制的。
不支持无头表的解析器
multimarkdown Maruku: Ruby中流行的实现 俗语:“所有表必须以一行或多行标题开头” PHP Markdown额外“第二行包含一个强制性的分隔线之间的标题和内容” RDiscount使用PHP Markdown Extra语法。 GitHub调味Markdown Parsedown: PHP中的解析器(例如在Laravel电子邮件中使用)
支持无头表的解析器。
Kramdown: Ruby中的解析器 MultiMarkdown: Perl CPAN模块。 MultiMarkdown: Windows应用程序。 ParseDown Extra: PHP中的解析器。 Pandoc:用Haskell编写的命令行的文档转换器(通过simple_tables和multiline_tables扩展支持无头表) Flexmark: Java中的解析器。
CSS解决方案
如果你能够改变HTML输出的CSS,你可以利用:empty伪类来隐藏一个空头,使它看起来根本没有头。
如果你不介意留空浪费一行,可以考虑下面的hack(这是一个hack,只有当你不喜欢添加任何额外的插件时才使用它)。
| | |
|---|---|
|__Bold Key__| Value1 |
| Normal Key | Value2 |
要查看上面的效果,请复制上面的内容并访问https://stackedit.io/app
它与GitLab/GitHub的Markdown实现一起工作。