在GitHub上,我想在Markdown中构建一个包含代码段的表。它工作正常,除非我在反引号(即`)字符之间放置一个管道char(即|)。
这就是我想要的:
a | r
------------|-----
`a += x;` | r1
`a |= y;` | r2
问题是第二行代码语句中的竖线被解释为列分隔符。然后表格渲染看起来很丑陋。我怎么能避免这个?
请注意,我已尝试使用|
HTML代码,但会生成a |= y;
。
答案 0 :(得分:106)
截至2017年3月,使用转义管道更容易:
\|
请参阅其他答案。
如果删除反引号(`),使用|
黑客工作
a | r
------------|-----
`a += x;` | r1
a |= y; | r2
并生成以下输出
或者,您可以使用<code></code>
标记替换反引号(`),通过保留渲染来更好地解决问题
a | r
------------|-----
`a += x;` | r1
<code>a |= y;</code> | r2
生成以下输出
答案 1 :(得分:11)
截至2017年中期,管道可能只是使用反斜杠进行转义,如下所示:\|
这可以在反叛内外工作。
HTML代码现在也可以再次使用,但只能在反引号之外使用。
上一个回答:
截至2017年3月,接受的答案因GitHub changed their markdown parser而停止工作。 使用另一个类似于管道的unicode符号似乎是 现在只有选项,例如:
|(U + 01C0,拉丁字母牙科点击)
|(U + 2223,符号划分)
U(U + 23AE,积分扩展)
答案 2 :(得分:3)
您可以使用|
转义GFM表格中的\
,如下所示:
a | r
------------|-----
`a += x;` | r1
`a \|= y;` | r2
有关示例,请参阅https://github.github.com/gfm/#example-191或https://github.com/dotnet/csharplang/pull/743。
答案 3 :(得分:1)
这在 github markdown 中运行良好:
| a | r
| ------------|-----
| `a += x;` | r1
| `a \|= y;` | r2
与 https://stackoverflow.com/a/45122039/1426932 非常相似,但在第一列中添加了 |
(它在评论中没有很好地呈现,所以我在这里添加了一个答案)。
请注意,在表格单元格之外,a \|= y;
将呈现反斜杠,但在表格单元格内部,则不会。