137 votes

Comment échapper à un caractère pipe dans une instruction de code dans un tableau markdown ?

Sur GitHub, je veux construire un tableau contenant des morceaux de code en Markdown. Cela fonctionne bien, sauf lorsque je place un caractère de type pipe (c'est-à-dire | ) entre les caractères de type backtick (c'est-à-dire ` ).

Voici ce que je veux :

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

Le problème est que la barre verticale dans la déclaration de code de la deuxième ligne est interprétée comme un délimiteur de colonne. Le rendu du tableau est alors assez moche. Comment éviter cela ?

Notez que j'ai déjà essayé d'utiliser le | code HTML, mais il produit a |= y; .

198voto

nulltoken Points 15605

Depuis mars 2017, l'utilisation des tuyaux échappés est beaucoup plus facile : \| Voir les autres réponses.

Si vous enlevez les backticks ( ` ), en utilisant le | travaux de piratage

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

et produit le résultat suivant

enter image description here

Alternativement, vous pouvez remplacer les backticks ( ` ) avec un <code></code> qui résout les problèmes de manière plus efficace en préservant le rendu.

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

générant la sortie suivante

enter image description here

28voto

Janosch Points 66

Depuis la mi-2017, le pipe peut simplement être échappé avec un backslash, comme ceci : \|

Cela fonctionne aussi bien à l'intérieur qu'à l'extérieur des backticks.

Le code HTML peut maintenant être réutilisé, mais uniquement en dehors des backticks.

Réponse précédente :

En mars 2017, la réponse acceptée a cessé de fonctionner car GitHub a modifié son analyseur markdown parser . L'utilisation d'un autre symbole unicode qui ressemble à un tuyau semble être la seule option pour le moment, par ex :

(U+01C0, lettre latine clic dentaire)

(U+2223, Symbole divise)

(U+23AE, extension intégrale)

13voto

michaelc Points 730

Vous pouvez échapper à la | dans un tableau dans GFM avec un \ comme ça :

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

Voir https://github.github.com/gfm/#example-191 o https://github.com/dotnet/csharplang/pull/743 pour un exemple.

2voto

timotheecour Points 525

Cela fonctionne très bien dans github markdown :

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

très similaire à https://stackoverflow.com/a/45122039/1426932 mais avec en plus | dans la première colonne (cela ne s'est pas bien rendu dans les commentaires donc j'ajoute une réponse ici).

Notez qu'en dehors d'une cellule de tableau, a \|= y; rendra la barre oblique inversée, mais à l'intérieur d'une cellule de tableau, ce ne sera pas le cas.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X