Menyoroti kode sebaris di reStructuredText

130

Saya tahu reStructuredText memiliki arahan ini:

.. code:: bash

    gedit pohl.m

yang membuat blok kode. Apakah ada beberapa cara untuk mendapatkan sorotan sintaksis untuk cuplikan inline seperti ini:

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

Backticks menandainya sebagai kode, tetapi saya ingin menyorotinya dengan pigmen seperti blok. Apakah ini mungkin?

Martin Ueding
sumber
7
Tanda kutip menandai bagian teks sebagai literal sebaris , bukan sebagai blok kode. Biasanya ini hanya akan diterbitkan dalam font monospace. Saya tidak yakin bagaimana mendapatkan potongan kode yang disorot sintaksis.
Chris

Jawaban:

209

Setelah melihat lebih dalam lagi, saya menemukan dokumen reStructuredText yang Diartikan Peran Teks . Dari dokumen ini:

Teks yang diinterpretasikan menggunakan backquotes (`) di sekitar teks. Penanda peran eksplisit dapat secara opsional muncul sebelum atau setelah teks, dibatasi dengan titik dua. Sebagai contoh:

This is `interpreted text` using the default role.

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

Tampaknya ada codeperan , jadi Anda cukup mengetik

:code:`a = b + c`

untuk membuat blok kode inline. Untuk mendapatkan penyorotan sintaks, Anda dapat menentukan peran khusus. Sebagai contoh

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

yang kemudian bisa Anda gunakan seperti ini:

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

Perhatikan bahwa definisi peran harus ditempatkan sebelum referensi ke peran.

Catatan, dokumen yang saya tautkan tidak menyebutkan versi dokumen yang diacu. Peran kode tidak tersedia di docutils 0.8.1 (yang merupakan satu-satunya versi yang harus saya uji).

Chris
sumber
4
harap perhatikan masalah ini saat menggunakan sphinx: stackoverflow.com/questions/21591107/…
Donatello