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


100

GitHubで、Markdownのコードを含むテーブルを作成したいと思います。バックティック(つまり `)文字の間にパイプ文字(つまり|)を置く場合を除いて、問題なく動作します。

これが私が欲しいものです:

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

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

既に|HTMLコードを使用しようとしましたが、が生成されa |= y;ます。

回答:


142

2017年3月現在、エスケープパイプを使用する方がはるかに簡単です\|。他の回答を参照してください。

バックティック(`)を削除すると、|ハックを使用して機能します

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

次の出力を生成します

ここに画像の説明を入力してください

または、バッククォート(`)を<code></code>、レンダリングを保持することで問題をより適切に修正するマークアップに置き換えることができます。

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

次の出力を生成する

ここに画像の説明を入力してください


4
ええ、<code></code>マークアップを使って作業しました!どうもありがとうございました。
Marc de Verdelhan 2013年

Bitbucketは<code>-blocksを許可しません:-/他の可能性はありますか?
Sergej 2016

2
GitHubでは、マークダウンエスケープが\|機能します。マークダウンをエスケープしようとせずに、HTMLにジャンプするのが速すぎます。
jnm2

2019年3月以降、Gitlab Wikiでは&#124;、マークアップコード内で「」を使用する必要があります。
knb

まだ参照のBitbucketでサポートされていないbitbucket.org/site/master/issues/17106/...
ロレンツォ・ソラノ

19

2017年半ば以降、パイプは次のようにバックスラッシュで簡単にエスケープできます。 \|

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

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

以前の答え:

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

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

∣(U + 2223、記号分割)

⎮(U + 23AE、積分拡張)


2
受け入れられた回答は、GitHubのGistHubと私が送信したプルリクエストの両方でうまく機能するようです。
Iiridayn

9

次のように|して、GFMのテーブルでをエスケープできます\

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

例については、https://github.github.com/gfm/#example-191またはhttps://github.com/dotnet/csharplang/pull/743を参照してください


ありがとう。これはGithubで動作します。Github MarkDownは\|テーブル内の文字列を認識し、それに応じて動作するようです。
スティーブンチョン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.