如何在markdown表中的代码语句中转义管道char?

时间:2013-06-26 12:24:21

标签: github escaping pipe markdown

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

这就是我想要的:

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

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

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

4 个答案:

答案 0 :(得分:106)

  

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

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

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

并生成以下输出

enter image description here

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

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

生成以下输出

enter image description here

答案 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-191https://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; 将呈现反斜杠,但在表格单元格内部,则不会。