为具有特定标题的通用斯芬克斯警告定义标记

时间:2012-02-06 15:52:55

标签: markup python-sphinx restructuredtext

我正在使用Sphinx为Python程序生成HTML文档。

我想使用具有特定标题的通用admonition指令(参见http://docutils.sourceforge.net/docs/ref/rst/directives.html#generic-admonition),并以我可以定义的方式对其进行标记,例如使用{{生成的内容1}}指令,即盒装,但颜色不同(大多数告诫都没有特别设计,参见http://sphinx.pocoo.org/rest.html?highlight=admonition)。

我如何最好地解决这个问题?

3 个答案:

答案 0 :(得分:13)

如果我正确理解了您的问题,您希望将明确的CSS样式应用于警告。您可以使用:class:attibute。

执行此操作

例如,以下

.. admonition:: my title goes here
   :class: myOwnStyle

   this is the admonition text

呈现为

<div class="myownstyle admonition">
  <p class="first admonition-title">my title goes here</p>
  <p class="last">this is the admonition text</p>
</div>

然后添加自己的样式表。例如,通过 source 目录中_ templates 目录中的自定义 layout.html

{% extends "!layout.html" %}
{% set css_files = css_files + ["_static/customstyle.css"] %}

然后,您可以使用 myownstyle 类的选择器

在样式表中使用CSS样式

答案 1 :(得分:3)

要更轻松地添加css文件,请将它们放在_static文件夹中,然后将其添加到conf.py

def setup(app):
    app.add_stylesheet('custom.css')

答案 2 :(得分:2)

这是一个示例custom.css,用于覆盖标题myownstyle的颜色和背景颜色。我在app.add_stylesheet()中使用了conf.py呼叫。

.rst-content .myownstyle .admonition-title {
   background: #b99976
}

.rst-content .myownstyle {
   background: #e5d3b3
}