Добавить класс в таблицу в Sphinx?

Сначала у меня есть таблица, и я хочу добавить к ней класс при компиляции в HTML с помощью Sphinx. Согласно документам, добавление директивы .. class:: перед таблицей должно добавить класс в таблицу, но вместо этого он добавляет список определений.

Код таблицы:

.. class:: special

== == ==
a  b  c
1  2  3
== == ==

что приводит к:

<dl class="class">
<dt id="special">
<em class="property">class </em><code class="descname">special</code><a class="headerlink" href="#special" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>

<table border="1" class="docutils">
<colgroup>
<col width="33%" />
<col width="33%" />
<col width="33%" />
</colgroup>
<tbody valign="top">
<tr class="row-odd"><td>a</td>
<td>b</td>
<td>c</td>
</tr>
<tr class="row-even"><td>1</td>
<td>2</td>
<td>3</td>
</tr>
</tbody>
</table>

Что я делаю неправильно? Я использую Сфинкс 1.3.1


person naught101    schedule 03.11.2015    source источник


Ответы (2)


Домен Sphinx по умолчанию — Python, и он содержит директиву class, которая дублирует исходную директиву Docutils с тем же именем.

Чтобы это работало, используйте вместо этого rst-class:

.. rst-class:: special

== == ==
a  b  c
1  2  3
== == ==

См. http://www.sphinx-doc.org/en/master/usage/restructuredtext/basics.html#id2.

person mzjn    schedule 03.11.2015

В качестве альтернативы вы можете вместо этого обернуть свою таблицу директивой .. table:: и использовать ее параметр :class::

.. table::
   :class: special

   == == ==
   a  b  c
   1  2  3
   == == ==

См. соответствующие docutils документы здесь.

person MarSoft    schedule 20.12.2017