Markdown多行代码块在表格中,当行必须用一行指定时

56

我有一张表:

| YAY! | TABLE | \^^/ | 1-liner JSON column! |
| ---- | ----- | ---- | -------------------- |
| That |  has  | JSON | `{a: 1, b: 2, c: 3}` |
| Here |  is   | more | `{d: 4, e: 5, f: 6}` |

我是否有办法在生成的表格单元格中插入多行代码块?

2个回答

79

`替换为<code>标签,并使用&nbsp;<br>进行缩进。

同样,您可以使用<pre>标签代替```


2
<br/> 也可以独立于 \`` 或 <code>使用,以强制多行单元格。我已经在将my.md转换为HTML` 的过程中使用/测试了这个功能。 - antiplex
9
在 GitHub 表格中使用多行代码块时,需要使用 <pre> 而不是 <code>。 ;) - Fery W
2
无法使其工作,GitHub在表格单元格中显示此代码的一行,<br/>被隐藏:<pre><code>{<br/>  showToday: false,<br/>  showClear: false,<br/>  showClose: false<br/>}</code></pre>有什么想法吗?谢谢! - tonix
2
@tonix 哦,我让它工作了,你不需要 <pre><code> 只需要 <pre> 即可。你可以在我的存储库中找到一个工作示例:https://github.com/prettier/plugin-pug/blob/main/README.md - Shinigami
1
这真的会使Markdown本身的可读性变得混乱,这有点违背了它的初衷。我可以假设,既然这是被接受的答案,那么没有更优雅的支持方式? - DaVince
显示剩余8条评论

16

@Meredith的回答 是对这个问题的完美回答。我想在下面补充更多细节和示例

如果你需要在表格单元格中的<code>元素内添加其他HTML标签,你不能用`替换<code>。相反,你需要在<pre>标签内使用反引号(`)来实现,就像这样:

示例:

Markdown Input HTML Output HTML Preview
<pre>
<p>Test Line</p>
</pre>
<pre><p>Test line</p></pre>

Test Line

扩展示例:
Markdown Input HTML Output HTML Preview
`{a: 1, b: 2, c: 3}` <code>{a: 1, b: 2, c: 3}</code> {a: 1, b: 2, c: 3}
<pre> {JSON: <br>
&emsp; ["Key1":"Value1",<br>
&emsp; "Key2":"Value2"] <br>
}</pre>
<pre> {JSON: <br> &emsp;["Key1":"Value1",<br> &emsp;"Key2":"Value2"]<br> } </pre>
{JSON: 
 ["Key1":"Value1",
 "Key2":"Value2"]
}

根据经验来看,这是无法维护的。在我的情况下,使用HTML表格是解决方案。 - tymtam
我同意tyntam的观点。如果原始问题是关于可维护性的,那么我也不建议这样做。但是,一个使用示例是将你的Markdown表格存储在数据库中(也许是用于博客内容管理系统)- 如果你使用HTML表格,比起这种方法,会占用更多内存。特别是当只有少数表格单元格包含多行Markdown时。 - Gangula

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接