我可以在 Markdown 中合并表格行吗

问题描述 投票:0回答:7

有没有办法在 ReadMe.md 文件等 Markdown 文件中的表列中创建合并行?

类似这样的:

table

github markdown github-flavored-markdown
7个回答
167
投票

不,这对于 GitHub 风格的 Markdown 来说是不可能的。正如 spec 所解释的(强调已添加):

表格其余行的单元格数量可能会有所不同。如果单元格数量少于标题行中的单元格数量,则插入空单元格。如果有更大的,则忽略多余的

当然,您始终可以退回到原始 HTML。

<table>
    <thead>
        <tr>
            <th>Layer 1</th>
            <th>Layer 2</th>
            <th>Layer 3</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td rowspan=4>L1 Name</td>
            <td rowspan=2>L2 Name A</td>
            <td>L3 Name A</td>
        </tr>
        <tr>
            <td>L3 Name B</td>
        </tr>
        <tr>
            <td rowspan=2>L2 Name B</td>
            <td>L3 Name C</td>
        </tr>
        <tr>
            <td>L3 Name D</td>
        </tr>
    </tbody>
</table>

亲自尝试一下 https://jsfiddle.net/7h89y55r/


44
投票

标准通用标记不支持表格,也不引用或推荐任何特定的表格扩展(截至 2018-03 的最新修订永久链接)。您的问题并没有具体询问 Github 风格的 Markdown (GFM),但 GFM 基于 commonmark ,其表扩展不支持此功能。

至少从 v5 开始,

MultiMarkdown 支持这些类型的表格(文档永久链接),就像 Michael Fortin for PHP Markdown Extra 所做的那样,转向:

|             |          Grouping           ||
First Header  | Second Header | Third Header |
 ------------ | :-----------: | -----------: |
Content       |          *Long Cell*        ||
Content       |   **Cell**    |         Cell |

New section   |     More      |         Data |
And more      | With an escaped '\|'         ||  
[Prototype table]

进入 Table

我通常使用 markdown-it (VSCode 内置 markdown 和我的 Ghost 博客使用它),它只支持 Github 风格的表,但有人为这些创建了一个扩展 (markdown-it-multimd-table)与它的桌子。最终,您有选择。


7
投票

我在评论中回答OP关于替代解决方案的问题,但评论被压缩成一行。将其添加为此处的答案以正确显示格式。

您可以使用 AsciiDoc 代替 Markdown。 GitHub 现在支持它。只需使用

README.adoc
而不是
README.md
AsciiDoc 语法中的表格:

[cols="^.^,^.^,^.^"]
|===
|Layer1 |Layer2 |Layer3

.4+|L1 Name .2+|L2 Name A |L3 Name A
|L3 Name B
.2+|L2 Name B |L3 Name C
|L3 Name D
|===

4
投票

vscode 插件 Markdown Extended 通过集成 markdown-it-multimd-table

支持其他答案描述的扩展表格格式

3
投票

这在标准 Markdown 中是不可能的,但是,有一些解决方案支持此功能。前面提到的Multimarkdown之一,但我想推荐另一个支持它的在线Markdown编辑器:μr²编辑器

它支持行和列合并,还可以从输出生成漂亮的 PDF。示例:

|               |          Grouping             ||         Grouping 2         ||  Not Grouped    |
| First Header  | Second Header | Third Header   | Forth Header | Fifth Header | Sixth Header    |
| ------------- | :-----------: | -------------: | :----------: | :----------: | --------------- |
| Tall Cell     |          *Long Cell*          ||         *Long Long Cell*                    |||
| ^^            |   **Bold**    | 1. first item  | *Italic*     | 3. third item | + first point  |\
| ^^            |               | 1. second item |              | 1. forth item | + second point |

| New section   |     More      |         Data   | ... - -- --- |||
| And more      | With an escaped \|          || "Try 'quotes' in quotes "         |||
[Compicated table]

将呈现为:

enter image description here


1
投票

我使用 Postman 来记录 API,发现您可以通过在 | 中插入 HTML 来将行自述文件 .md 表示法与 HTML 混合。 |分离器以实现更稳健的设计。我认为其他使用标记的平台(例如 GitHub)也是一样的,尝试一下,看看它是否适合您。

以下示例将表格嵌套在表格单元格内:

       | Field  | Description |  Optional | Default |
       | ------ | ----------- | --------- | ------- |
       | manual_entry_indicator | no: is not is allow manual entry <br /> yes: is manual entry enabled| yes | no |
       | amounts | json object containing all transaction amounts <br /> <br /> <table> <tr> <td> Subfield </td> <td> Description </td> <td> Optional </td> <td> Default </td> </tr> <tr> <td> tip </td>  <td> transaction tip amount </td> <td> yes </td> <td> NA </td> </tr> <tr> <td> total </td> <td> equal to Base  Amount + Base amount for  Reduced State Tax + City Tax + State Tax + Reduced State Tax + Tip or Cash back </td> <td> no </td> <td> NA </td> </tr> <tr> <td> cashback </td> <td> cash back amount </td> <td> yes </td> <td> NA </td> </tr> <tr> <td> state_tax </td> <td> State tax amount </td> <td> yes </td> <td> NA </td> </tr> <tr> <td> city_tax </td> <td> City tax amount </td> <td> yes </td> <td> NA </td> </tr> <tr> <td> reduced_tax </td> <td> Reduced state tax amount </td> <td> yes </td> <td> NA </td> </tr> <tr> <td> base_reduced_tax </td> <td> Reduced state tax base amount </td> <td> yes </td> <td> NA </td> </tr> </table> | no | NA |

will be rendered like this


0
投票

虽然这在 GitHub 风格的 Markdown 中似乎不可能(除了像 Waylan 建议的那样使用 embedded HTML),reStructuredText 确实支持它(GitHub 也支持 reStructuredText),所以如果更改你的

README.md
README.rst
是一种可能性,你可以这样做:

+-----+-----------+
|     | L2 and L3 |
| L1  +-----+-----+
|     | L2  | L3  |
+=====+=====+=====+
|     | BBB | CCC |
| AAA +-----+-----+
|     |   DDDDD   |
+-----+-----+-----+
|           | FFF |
|   EEEEE   +-----+
|           | GGG |
+-----------+-----+

当然,这有一个缺点,您现在必须将文档的其余部分更改为 reStructuredText(并且并没有真正回答最初的问题“我如何在 Markdown 中做到这一点”)。 幸运的是,两者都比较相似,所以如果文档较短,更改应该不会太复杂。

© www.soinside.com 2019 - 2024. All rights reserved.