我正在用rST / Sphinx写一些编码教程,我想区分输入(即代码块)和输出(至终端)。因为输出也必须是文字的,所以我不能简单地使用自定义类或容器,因为它们仍会被解释并且不能正确显示(请参阅下文)。如何创建类或容器或可以应用于文字块子集的内容?
请注意,这不必花哨-只需更改“输出”块与“代码块”块相比的背景颜色即可。
我尝试过:
创建一个名为“ terminal”的自定义类,但这仍然会被解释并返回有关其内容的错误:
.. container:: terminal
-----------------------------------------------
MY **EXAMPLE** GOES HERE
-----------------------------------------------
...产生解释的输出,正确应用了该类,但水平线缺失,“示例”为粗体等。
在终端容器内嵌套文字块:
::
.. container:: terminal
-----------------------------------------------
MY **EXAMPLE** GOES HERE
-----------------------------------------------
...产生格式化为输入代码的文字输出:
.. container:: terminal
-----------------------------------------------
MY **EXAMPLE** GOES HERE
-----------------------------------------------
反之亦然:
.. container:: terminal
::
-----------------------------------------------
MY **EXAMPLE** GOES HERE
-----------------------------------------------
...产生一个带有terminal
格式的div,该div带有带有文字块的嵌套div,该div保留了标准的文字格式(我想重写)。
我认为我必须缺少一些非常简单的东西,但我真的看不到!
答案 0 :(得分:0)
尝试.. code-block:: bash
,其中“ bash”是要应用语法突出显示的语言的名称。 Pygments将Available syntaxes作为“词法分析器”提供。
.. code-block:: bash
-----------------------------------------------
MY **EXAMPLE** GOES HERE
-----------------------------------------------
如果您对Sphinx主题提供的语法突出显示不满意,可以使用custom style覆盖它。
作为一个可能的例子,我更改了特定选择器的样式。在主题的CSS中添加类似内容。
div.highlight-text > table > tbody > tr > td.code > div > pre {
background-color: #32cd32;
}