如何在Sphinx中显示终端/ shell代码片段?

34

使用Sphinx,我知道你可以通过像这样的方式显示代码片段:

.. code-block:: ruby.
  ${your ruby code goes here} 

我该如何展示终端或shell命令的代码片段,而不涉及任何语言?我不关心它们的语法高亮是否正确,我只是想将它们显示在文档中作为代码片段,而不是普通文本。

示例

$ ls -lsa . 
$ make file
3个回答

49

2
这比使用bashsh更好,因为它描述的是控制台/终端,而不是脚本。但要注意它不能很好地处理长行。 - Travis Spencer

34

如果要使用Linux控制台命令,您可以使用bashsh

.. code-block:: bash

   $ ls -lsa .
   $ make file

高亮可能并不总是起作用,但至少你可以试一试。

如果你使用@Bonlenfum的双冒号方式,在文件开头也可以设置默认高亮:

.. highlight:: sh

2
在这种情况下,你应该选择 console 而不是 bash,就像 Marco Mariani 的回答一样。bash 可能会误解控制台特定的语法,例如行首的 $ / #。 - Nephanth

24

您可以将要作为代码编写的文本缩进,并在其前面加上双冒号。例如:

:: your code goes here ::

Some body text explaining what's coming up::

    ls -lsa .
    make file

或者事实证明,在双冒号之前没有任何文本也可以省略,只需使用双冒号即可。在第一种情况下,一个冒号被呈现,而在这种情况下,只有代码被呈现。

::
    mkdir test
    cd !$  

那么命令将以等宽字体显示,并且根据您选择的样式表进行突出显示(默认情况下,使用绿色背景进行突出显示)。

您还可以使用反引号进行内联突出显示,例如`ls -lsa .`


1
正如wswld在下面的说明中所指出的那样,除非与类似于 .. highlight :: console 的解析器指令配对使用,否则这种轻量级方法是不可取的。这样做可以通知ReST解析器(例如Sphinx)要为缺乏显式语言的所有代码块使用的默认语言是什么。在这种情况下,应该是console——与旨在交互运行的Bash shell一行脚本相关联的“语言”。尽管如此,显式总比隐式更好。 - Cecil Curry

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接