2015-11-03 17 views
5

Ho una tabella in primo luogo, e voglio aggiungere una classe ad esso, durante la compilazione in HTML con Sphinx. Secondo the docs, aggiungere una direttiva .. class:: prima che la tabella aggiunga la classe alla tabella, ma invece aggiunge un elenco di definizioni.Aggiungi una classe a un tavolo in Sfinge?

Il codice tabella è:

.. class:: special 

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

che si traduce in:

<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> 

Che cosa sto facendo di sbagliato? Sto usando Sphinx 1.3.1

risposta

8

Il dominio predefinito di Sphinx è Python e contiene una direttiva class che oscura la direttiva originale Docutils con lo stesso nome.

per farlo funzionare, utilizzare rst-class invece:

.. rst-class:: special 

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

Vedi http://sphinx-doc.org/rest.html#id3.

+0

Impressionante, grazie! – naught101

1

In alternativa si potrebbe invece avvolgere la vostra tavola con una direttiva .. table:: e usare il suo :class: opzione:

.. table:: 
    :class: special 

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

Vedi le corrispondenti docutils docs here.