Как скрыть трубу char в инструкции кода в таблице уценки?
В GitHub я хочу создать таблицу, содержащую фрагменты кода в Markdown. Он отлично работает, за исключением случаев, когда я помещаю трубку char (т.е. |) Между символами обратного (то есть `).
Вот что я хочу:
a | r
------------|-----
`a += x;` | r1
`a |= y;` | r2
Проблема заключается в том, что вертикальная полоса в кодовом выражении второй строки интерпретируется как разделитель столбцов. Тогда рендеринг таблицы выглядит довольно уродливым. Как я мог избежать этого?
Обратите внимание, что я уже пытался использовать HTML-код |
, но он создает a |= y;
.
Ответы
Ответ 1
Если вы удалите обратные элементы (`), используйте |
hack works
a | r
------------|-----
`a += x;` | r1
a |= y; | r2
и выдает следующий вывод
![enter image description here]()
В качестве альтернативы вы можете заменить backticks (`) на разметку <code></code>
, которая лучше устраняет проблемы, сохраняя рендеринг
a | r
------------|-----
`a += x;` | r1
<code>a |= y;</code> | r2
генерирует следующий вывод
![enter image description here]()
Ответ 2
По состоянию на середину 2017 года труба может просто сбрасываться с обратной косой чертой, например: \|
Это работает как внутри, так и снаружи backticks.
Код HTML теперь можно использовать снова, но только за пределами обратных ссылок.
Предыдущий ответ:
По состоянию на март 2017 года принятый ответ прекратил работать, потому что GitHub изменили их уценку анализатор. Использование другого символа юникода, который напоминает трубу, кажется только сейчас, например:
| (U + 01C0, латинский буквенный клик)
| (U + 2223, символ делит)
⎮ (U + 23AE, интегральное расширение)
Ответ 3
Вы можете избежать |
в таблице в GFM с помощью \
, например:
a | r
------------|-----
`a += x;` | r1
`a \|= y;` | r2
См. https://github.github.com/gfm/#example-191 или https://github.com/dotnet/csharplang/pull/743 для примера.