14

一个先前的问题解释了如何向某些 reStructuredText 添加颜色跨度。

回顾一下这个过程:

首先,你有这个角色。

.. role:: red

An example of using :red:`interpreted text`

它翻译成如下。

<p>An example of using <span class="red">interpreted text</span></p>

现在,你有了 red 类,你可以使用 CSS 来改变颜色。

.red {
    color:red;
}

如果你想要跨越多行的文本,你怎么做?例如:

.. role:: red

:red:`paragraph 1

      paragraph 2

      paragraph 3`

其中第 1、2 和 3 段都将是“红色”。如果我尝试这样做,我会收到警告消息:

警告:没有结束字符串的内联解释文本或短语引用起始字符串。

它不会创建跨度并将 ":red:" 插入到文本中。它只是不将其解释为字符串(如警告所示)。

基本上,这可以在 reStructuredText 中完成,如果可以,怎么做?

我正在使用狮身人面像 1.1.3。

4

1 回答 1

14

有很多方法可以做到这一点,但其中一种是使用class指令:

.. class:: red

    This is a paragraph.

    This is another paragraph.

大多数 docutils HTML 编写者会将其作为类 html 属性放入 html 输出中,然后您可以使用 CSS 对其进行样式设置。

但是,尤其是在 Sphinx中,至少在某些情况下,您可能需要使用rst-class而不是。class见:https ://www.sphinx-doc.org/en/2.0/usage/restructuredtext/basics.html

此外,RestructuredText 中的许多块级元素都采用一个:class:参数,该参数的作用几乎相同。

于 2012-10-23T20:58:38.247 回答