определить разметку для общих предупреждений сфинксов с определенным названием - PullRequest
15 голосов
/ 06 февраля 2012

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

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

Как мне лучше поступить об этом?

Ответы [ 2 ]

13 голосов
/ 16 марта 2012

Если я правильно понял ваш вопрос, вы бы хотели применить стиль 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 в каталоге source :

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

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

3 голосов
/ 16 июня 2016

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

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