2012-06-03 9 views
91

Tôi biết reStructuredText có chỉ thị này:Inline đang làm nổi bật trong reStructuredText

.. code:: bash 

    gedit pohl.m 

mà ám một khối mã. Có cách nào để làm nổi bật cú pháp cho các đoạn nội tuyến như sau:

Do edit the file, type ``gedit pohl.m`` into a terminal. 

Backticks đánh dấu nó là mã, nhưng tôi muốn làm nổi bật nó bằng các hình ảnh như khối. Điều này có thể không?

+7

Backticks đánh dấu một phần của văn bản dưới dạng [inline literal] (http://docutils.sourceforge.net/docs/user/rst/quickref.html#inline-markup), không phải là khối mã. Thông thường, điều này sẽ chỉ được xuất bản trong một phông chữ monospace. Tôi không chắc chắn làm thế nào để có được đoạn mã nội tuyến nhấn mạnh đoạn mã tôi sợ. – Chris

Trả lời

146

Sau khi xem xét điều này, tôi đã vấp phải tài liệu reStructuredText Interpreted Text Roles. Từ tài liệu này:

Văn bản được giải thích sử dụng dấu ngoặc kép (`) xung quanh văn bản. Một dấu hiệu vai trò rõ ràng có thể xuất hiện tùy chọn trước hoặc sau văn bản, được phân cách bằng dấu hai chấm. Ví dụ:

This is `interpreted text` using the default role. 

This is :title:`interpreted text` using an explicit role. 

Dường như có một code role, vì vậy bạn có thể chỉ cần gõ

:code:`a = b + c` 

để render một khối mã inline. Để làm nổi bật cú pháp, bạn có thể xác định vai trò tùy chỉnh. Ví dụ

.. role:: bash(code) 
    :language: bash 

mà sau đó bạn có thể sử dụng như sau:

Here is some awesome bash code :bash:`a = b + c`. 

Lưu ý, các tài liệu tôi liên kết với không đề cập đến các phiên bản của docutils mà nó đề cập. Vai trò mã là không phải có sẵn trong docutils 0.8.1 (đây là phiên bản duy nhất tôi phải kiểm tra).