Làm cách nào để thoát ký tự ký tự trong câu lệnh mã trong bảng đánh dấu?


100

Trên GitHub, tôi muốn xây dựng một bảng chứa các đoạn mã trong Markdown. Nó hoạt động tốt ngoại trừ khi tôi đặt một ký tự ký tự (tức là |) giữa các ký tự backtick (tức là `).

Đây là những gì tôi muốn:

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

Vấn đề là thanh dọc trong câu lệnh mã của dòng thứ hai được hiểu là dấu phân cách cột. Sau đó, kết xuất bảng trông khá xấu. Làm thế nào tôi có thể tránh điều đó?

Lưu ý rằng tôi đã cố gắng sử dụng |mã HTML, nhưng nó tạo ra a |= y;.

Câu trả lời:


143

Tính đến tháng 3 năm 2017, việc sử dụng ống thoát dễ dàng hơn nhiều: \|Xem các câu trả lời khác.

Nếu bạn loại bỏ các dấu gạch ngược ( ` ), việc sử dụng |hack sẽ hoạt động

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

và tạo ra kết quả sau

nhập mô tả hình ảnh ở đây

Ngoài ra, bạn có thể thay thế các dấu gạch ngược ( ` ) bằng một <code></code>đánh dấu để khắc phục các vấn đề một cách độc đáo hơn bằng cách giữ nguyên kết xuất

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

tạo ra kết quả sau

nhập mô tả hình ảnh ở đây


4
Vâng, đã hoạt động bằng cách sử dụng <code></code>đánh dấu! Cảm ơn rât nhiều.
Marc de Verdelhan

Bitbucket không cho phép <code>-blocks: - / có khả năng nào khác không?
Sergej

2
Trên GitHub, tính năng thoát markdown \|hoạt động. Mọi người chuyển sang HTML quá nhanh mà không cố gắng thoát khỏi phần đánh dấu.
jnm2

Kể từ tháng 3 năm 2019, trong Gitlab Wikis, bạn vẫn cần sử dụng " &#124;" bên trong mã đánh dấu.
knb

Vẫn không được hỗ trợ bởi Bitbucket thấy bitbucket.org/site/master/issues/17106/...
Lorenzo Solano

19

Kể từ giữa năm 2017, đường ống có thể đơn giản được thoát bằng dấu gạch chéo ngược, như sau: \|

Điều này hoạt động cả bên trong và bên ngoài của backticks.

Mã HTML bây giờ cũng có thể được sử dụng lại, nhưng chỉ được sử dụng bên ngoài các dấu gạch ngược.

Câu trả lời trước:

Kể từ tháng 3 năm 2017, câu trả lời được chấp nhận đã ngừng hoạt động vì GitHub đã thay đổi trình phân tích cú pháp đánh dấu của họ . Sử dụng một biểu tượng unicode khác giống với một đường ống dường như là lựa chọn duy nhất hiện nay, ví dụ:

ǀ (U + 01C0, bấm nha khoa chữ cái Latinh)

∣ (U + 2223, Phân chia ký hiệu)

⎮ (U + 23AE, Mở rộng Tích phân)


2
Câu trả lời được chấp nhận dường như phù hợp với tôi trong GitHub, cả trong Gist và trong yêu cầu kéo mà tôi đã gửi.
Iiridayn

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.