web-dev-qa-db-ja.com

マークダウンテーブルのコードステートメントでパイプ文字をエスケープする方法は?

GitHubで、Markdownのコードを含むテーブルを作成します。バックティック(つまり `)文字の間にパイプ文字(つまり|)を入れた場合を除き、正常に動作します。

ここに私が欲しいものがあります:

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

問題は、2行目のコードステートメントの垂直バーが列区切り文字として解釈されることです。その後、テーブルのレンダリングはかなりprettyいように見えます。どうすればそれを回避できますか?

すでに| HTMLコードを使用しようとしましたが、a |= y;を生成することに注意してください。

75

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

107
nulltoken

2017年半ばの時点で、パイプは次のようにバックスラッシュでエスケープできます:\|

これは、バックティックの内側と外側の両方で機能します。

HTMLコードも再び使用できるようになりましたが、バッククティック以外でのみ使用できます。

前の答え:

2017年3月の時点で、受け入れられた答えは GitHubがマークダウンパーサーを変更した のために機能しなくなりました。現在、パイプに似た別のUnicodeシンボルを使用することが唯一のオプションのようです。

ǀ(U + 01C0、ラテン文字の歯科用クリック)

∣(U + 2223、シンボル分割)

⎮(U + 23AE、インテグラルエクステンション)

12
Janosch

GFMのテーブルで|をエスケープするには、次のように\を使用します。

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

https://github.github.com/gfm/#example-191 または https://github.com/dotnet/csharplang/pull/74 を参照してください。

5
Iiridayn