Chr*_*ade 1 python documentation python-sphinx
我目前正在使用Sphinx来记录一个混合语言项目,该文档不仅包含 Python 中的交互式会话示例,还包含 bash 和 Windows 命令行以及 MATLAB 和其他解释器中的交互式会话示例。虽然 Pygments 很好地突出显示了所有内容,但到目前为止我在文档中包含的所有交互式会话都显示在 HTML 输出中,前面带有 Python 提示符>>>. $例如,在记录 bash 会话时,如何将该提示更改为?
编辑澄清:
如 Sphinx 手册中的“显示代码示例”下所述,Sphinx 文档的 ReST 源可以包含如下代码:
>>> # python code here
>>> print "foo"
foo
Run Code Online (Sandbox Code Playgroud)
然后,此代码将转换为标记,如Python 标准库文档中的argparse 文档中演示的那样,将 后面的代码显示>>>为突出显示的代码片段。虽然很明显,可以简单地将未突出显示的块与其他提示字符一起排版,但我想知道如何将提示与argparse 示例>>>中显示的交互式提示样式结合起来。
例如,您可以使用它$作为 bash 片段的提示符,但如果您希望很好地突出显示输出,则它不能用于 Python。
>>>被识别为交互式 Python 提示符。但使用其他提示将不起作用。文档说:“普通的 Python 代码仅在可解析时才会突出显示”,以及类似的内容
$ import sys
Run Code Online (Sandbox Code Playgroud)
或者
>> import sys
Run Code Online (Sandbox Code Playgroud)
不能像 Python 一样解析。
可以使用扩展使 Sphinx 接受其他 Python 提示。ipython 指令是一个示例(未经我测试)。
这些例子对我来说很有效:
.. code-block:: bash
$ pwd
/home
$ echo TEST
TEST
.. code-block:: python
>>> import sys
>>> print "X"
X
Run Code Online (Sandbox Code Playgroud)
以下产生相同的格式和突出显示:
.. highlight:: bash
::
$ pwd
/home
$ echo TEST
TEST
.. highlight:: python
::
>>> import sys
>>> print "X"
X
Run Code Online (Sandbox Code Playgroud)
对于 Python 交互式会话,实际上不需要额外的标记(除非最近的.. highlight::指令具有除 之外的目标python)。Sphinx>>>自动识别:
>>> import sys
>>> print "X"
X
Run Code Online (Sandbox Code Playgroud)
如果没有任何提示,代码必须位于代码块(或文字块)中才能正确格式化:
.. code-block:: python
import sys
print "X"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3525 次 |
| 最近记录: |