Come eseguire l'escape di un carattere pipe in un'istruzione di codice in una tabella markdown?


100

Su GitHub voglio creare una tabella contenente parti di codice in Markdown. Funziona bene tranne quando metto un carattere pipe (ie |) tra i caratteri backtick (cioè `).

Ecco cosa voglio:

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

Il problema è che la barra verticale nell'istruzione di codice della seconda riga viene interpretata come un delimitatore di colonna. Quindi il rendering della tabella sembra piuttosto brutto. Come potrei evitarlo?

Nota che ho già provato a utilizzare il |codice HTML, ma produce a |= y;.

Risposte:


143

A partire da marzo 2017, l'utilizzo di pipe con fuga è molto più semplice: \|vedi altre risposte.

Se rimuovi i backtick ( ` ), l'uso |dell'hack funziona

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

e produce il seguente output

inserisci qui la descrizione dell'immagine

In alternativa, puoi sostituire i backtick ( ` ) con un <code></code>markup che risolve i problemi in modo più piacevole preservando il rendering

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

generando il seguente output

inserisci qui la descrizione dell'immagine


4
Sì, ho lavorato usando il <code></code>markup! Grazie mille.
Marc de Verdelhan

Bitbucket non consente <code>-block: - / c'è un'altra possibilità?
Sergej

2
Su GitHub, l'escape del markdown \|funziona. Le persone passano all'HTML troppo velocemente senza cercare di sfuggire al ribasso.
jnm2

A partire da marzo 2019, in Gitlab Wiki, è ancora necessario utilizzare " &#124;" all'interno del codice di markup.
knb

Ancora non supportato da Bitbucket vedi bitbucket.org/site/master/issues/17106/…
Lorenzo Solano

19

A partire dalla metà del 2017, il pipe può essere semplicemente eliminato con un backslash, in questo modo: \|

Funziona sia all'interno che all'esterno dei backtick.

Ora anche il codice HTML può essere riutilizzato, ma solo al di fuori dei backtick.

Risposta precedente:

A partire da marzo 2017, la risposta accettata ha smesso di funzionare perché GitHub ha modificato il parser di markdown . L'uso di un altro simbolo Unicode che assomiglia a una pipe sembra essere l'unica opzione in questo momento, ad esempio:

ǀ (U + 01C0, clic dentale in lettere latine)

∣ (U + 2223, il simbolo divide)

⎮ (U + 23AE, estensione integrale)


2
La risposta accettata sembra funzionare bene per me in GitHub, sia in un Gist che nella richiesta pull che ho inviato.
Iiridayn

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.