reStructuredText中的内联代码突出显示


130

我知道reStructuredText具有以下指令:

.. code:: bash

    gedit pohl.m

呈现一个代码块。是否有某种方法可以像这样获得内联代码片段的语法突出显示:

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

反引号将其标记为代码,但我想用像块这样的小片段来突出显示它。这可能吗?


7
反引号将文本的该部分标记为嵌入式文字,而不是代码块。通常,它将仅以等宽字体发布。我不确定如何获取内联代码语法突出显示的代码段。
克里斯(Chris

Answers:


209

研究了更多内容后,我偶然发现了文档reStructuredText解释文本角色。从此文档:

解释的文本在文本周围使用反引号(`)。显式角色标记可以有选择地出现在文本之前或之后,并用冒号分隔。例如:

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版本。代码角色在docutils 0.8.1(这是我必须测试的唯一版本)中不可用。


4
使用狮身人面像时请注意以下问题:stackoverflow.com/questions/21591107/…–
Donatello
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.