reStructuredText中的内联代码突出显示

Mar*_*ing 116 restructuredtext

我知道reStructuredText有这个指令:

.. code:: bash

    gedit pohl.m
Run Code Online (Sandbox Code Playgroud)

它呈现代码块.有没有办法让内联片段的语法高亮显示如下:

Do edit the file, type ``gedit pohl.m`` into a terminal.
Run Code Online (Sandbox Code Playgroud)

反引号将其标记为代码,但我想用块之类的pygments突出显示它.这可能吗?

Chr*_*ris 188

在研究了这个之后,我偶然发现了文档reStructuredText解释文本角色.从这份文件:

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

This is `interpreted text` using the default role.

This is :title:`interpreted text` using an explicit role.
Run Code Online (Sandbox Code Playgroud)

似乎有一个code角色,所以你可以简单地输入

:code:`a = b + c`
Run Code Online (Sandbox Code Playgroud)

呈现内联代码块.要获得语法突出显示,您可以定义自定义角色.例如

.. role:: bash(code)
   :language: bash
Run Code Online (Sandbox Code Playgroud)

您可以这样使用:

Here is some awesome bash code :bash:`a = b + c`.
Run Code Online (Sandbox Code Playgroud)

请注意,必须在引用角色之前放置角色定义.

注意,我链接到的文档没有提到它所引用的docutils的版本.Docutils 0.8.1中没有代码角色(这是我必须测试的唯一版本).

  • 使用sphinx时请注意以下问题:/sf/ask/1511377521/ (2认同)