Определить разметку для общих предупреждений сфинкса с определенным заголовком

Я использую Sphinx для создания документации HTML для программы Python.

Я хотел бы использовать общую директиву admonition (cf. http://docutils.sourceforge.net/docs/ref/rst/directives.html#generic-admonition) с определенным заголовком и присвоить ее таким образом, чтобы я мог определить, например, как контент, созданный с помощью директивы note, т.е. в коробке, но с другим цветом (большинство предупреждений не специально оформлены, см. http://sphinx.pocoo.org/rest.html?highlight=admonition).

Как мне лучше всего это сделать?

Ответы

Ответ 1

Если я правильно понял ваш вопрос, вы хотели бы применить стиль CSS custon к предупреждению. Вы можете сделать это с помощью: 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>

Затем вы добавляете свою собственную таблицу стилей. Например, пользовательский layout.html в каталоге _templates в исходном каталоге:

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

Затем вы можете играть со стилями CSS в своей таблице стилей, используя селектор для класса myownstyle

Ответ 2

Чтобы добавить файлы css более легко, поместите их в папку _static, а затем добавьте это в conf.py:

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