โค้ดอินไลน์ที่ไฮไลต์ใน reStructuredText


130

ฉันรู้ว่า reStructuredText มีคำสั่งนี้:

.. code:: bash

    gedit pohl.m

ซึ่งแสดงผลบล็อกรหัส มีวิธีใดบ้างในการเน้นไวยากรณ์สำหรับตัวอย่างข้อมูลแบบอินไลน์เช่นนี้:

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

backticks ทำเครื่องหมายว่าเป็นรหัส แต่ฉันต้องการเน้นด้วย py เซ็กเมนต์เช่นบล็อก เป็นไปได้หรือไม่


7
เครื่องหมายย้อนกลับจะทำเครื่องหมายส่วนนั้นของข้อความเป็นตัวอักษรแบบอินไลน์ไม่ใช่บล็อกโค้ด โดยปกติแล้วสิ่งนี้จะเผยแพร่ในแบบอักษร monospace ฉันไม่แน่ใจว่าจะรับข้อมูลโค้ดที่เน้นไวยากรณ์แบบอินไลน์ได้อย่างไรฉันกลัว
คริส

คำตอบ:


209

ต้องดูในนี้บางมากขึ้นฉัน stumbled เมื่อเอกสารreStructuredText ตีความบทบาทข้อความ จากเอกสารนี้:

ข้อความที่ตีความจะใช้ backquotes (`) รอบข้อความ เครื่องหมายแสดงบทบาทที่ชัดเจนอาจปรากฏก่อนหรือหลังข้อความคั่นด้วยเครื่องหมายทวิภาค ตัวอย่างเช่น:

This is `interpreted text` using the default role.

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

ดูเหมือนว่ามีcodeบทบาทดังนั้นคุณสามารถพิมพ์ได้

:code:`a = b + c`

เพื่อแสดงผลบล็อกโค้ดแบบอินไลน์ ในการเน้นไวยากรณ์คุณสามารถกำหนดบทบาทที่กำหนดเองได้ ตัวอย่างเช่น

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

ซึ่งคุณสามารถใช้ดังนี้:

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

โปรดทราบว่าต้องวางนิยามบทบาทไว้ก่อนที่จะอ้างอิงถึงบทบาท

หมายเหตุเอกสารที่ฉันลิงก์ไปไม่ได้ระบุถึงเวอร์ชันของเอกสารที่อ้างถึง บทบาทโค้ดไม่มีใน docutils 0.8.1 (ซึ่งเป็นเวอร์ชันเดียวที่ฉันต้องทดสอบ)


4
โปรดทราบปัญหานี้เมื่อใช้ sphinx: stackoverflow.com/questions/21591107/…
Donatello
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.