2015-11-03 32 views
5

我在第一个表中有一个表,并且我想在用Sphinx编译为HTML时向它添加一个类。根据the docs,在表之前添加.. class::指令应该将该类添加到表中,但是它会添加一个定义列表。在Sphinx的表中添加一个班级?

表的代码是:

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

我在做什么错?我正在使用Sphinx 1.3.1

回答

8

Sphinx默认域是Python,它包含一个class指令,该指令会对原始的Docutils指令进行同名映射。

为了使它正常工作,使用rst-class代替:

.. rst-class:: special 

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

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

+0

太棒了,谢谢! – naught101

1

或者你可以改为用.. table::指令包住表并使用其:class:选项:

.. table:: 
    :class: special 

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

请参见相应的docutils文档here