132

在 GitHub 上,我想构建一个包含 Markdown 代码片段的表格。它工作正常,除非我在反引号(即 ` )字符之间放置一个管道字符(即 | )。

这是我想要的:

      a     |  r  
------------|-----
 `a += x;`  |  r1
 `a |= y;`  |  r2

问题是第二行代码语句中的竖线被解释为列分隔符。然后表格渲染看起来很丑。我怎么能避免呢?

请注意,我已经尝试使用|HTML 代码,但它会生成a |= y;.

4

4 回答 4

191

截至 2017 年 3 月,使用转义管道要容易得多:\|请参阅其他答案。

如果您删除反引号(`),则使用|黑客作品

      a     |  r  
------------|-----
 `a += x;`  |  r1
 a |= y;  |  r2

并产生以下输出

在此处输入图像描述

或者,您可以将反引号 ( ` )替换为<code></code>通过保留渲染更好地解决问题的标记

      a     |  r  
------------|-----
 `a += x;`  |  r1
<code>a &#124;= y;</code>  |  r2

生成以下输出

在此处输入图像描述

于 2013-06-26T12:43:54.120 回答
26

截至 2017 年中,管道可能会简单地用反斜杠转义,如下所示:\|

这适用于反引号的内部和外部。

HTML 代码现在也可以再次使用,但只能在反引号之外。

上一个答案:

截至 2017 年 3 月,接受的答案停止工作,因为GitHub 更改了他们的 markdown parser。使用另一个类似于管道的 unicode 符号似乎是目前唯一的选择,例如:

ǀ (U+01C0, 拉丁字母牙点击)

∣ (U+2223, 符号相除)

⎮(U+23AE,整体扩展)

于 2017-03-28T13:29:09.877 回答
13

您可以像这样|在 GFM 中的表格中转义:\

|      a     |  r  
|------------|-----
| `a += x;`  |  r1
| `a \|= y;` |  r2

有关示例,请参见https://github.github.com/gfm/#example-191https://github.com/dotnet/cshaplang/pull/743 。

于 2017-07-15T19:31:23.650 回答
2

这在 github markdown 中运行良好:

|       a     |  r  
| ------------|-----
|  `a += x;`  |  r1
|  `a \|= y;` |  r2

与https://stackoverflow.com/a/45122039/1426932非常相似,但|在第一列中添加了(它在评论中没有很好地呈现,所以我在这里添加一个答案)。

请注意,在表格单元格之外,a \|= y;将呈现反斜杠,但在表格单元格内部,则不会。

于 2021-03-10T03:28:43.780 回答