如何在Sphinx中创建一个自动嵌套在子部分中的自定义HTML div?

时间:2017-09-05 10:42:16

标签: python-sphinx restructuredtext

我使用精彩的Sphinx工具创建了一些文档,我需要创建一个自定义的HTML div,以便我可以将它与Sphinx的其他自动创建的div区分开来。

这可以使用container directive,但问题是如果我在子小节下面使用这个指令,它会自动将使用容器指令创建的div嵌入子小节中,像这样:

<div id="automatically-created sphinx subsubsection">
   ...
   <div id="my custom container"></div>
</div>

然而,我想:

<div id="automatically-created sphinx subsubsection">
   ...
</div>
<div id="my custom container"></div>

有没有办法做到这一点?任何帮助将不胜感激!

附录:

可能解决问题的一种方法是创建一个新的子分段,以便Sphinx自动将其置于与其他子子部分相同的级别,然后使用CSS隐藏其标题等。然而,这种方法的问题是新的子分段会自动添加到RTD theme(我正在使用)的侧边栏中,这不是我想要的。

1 个答案:

答案 0 :(得分:3)

未测试。尝试使用超级hacky .. raw::指令,关闭当前部分,然后打开一个新的未关闭的<div>

.. raw:: html

    </div>
    <div id="my custom container">

然后使用reStructured文本标记继续。这会“欺骗”Sphinx认为当前部分仍处于打开状态,并且在标记的其余部分之后仍然会添加一个结束</div>,直到它开始解析下一部分。