如何在Sphinx中编号?

时间:2016-11-09 17:09:42

标签: python-sphinx

我正在使用Sphinx文档编写一本书,我有一个经常使用的特殊admonition。但是为了更好地与其他作者沟通,我希望在每一个特殊的警告中都有一个自动编号。

说我输入了这个:

Section
=======

.. admonition:: Observation

   text

.. admonition:: Observation

   text

我想为HTML构建获得类似的内容:

<h2>Section</h2>

<div class="admonition-observation admonition">
<p class="first admonition-title">Observation 1</p>
<p>text</p>

<div class="admonition-observation admonition">
<p class="first admonition-title">Observation 2</p>
<p>text</p>

或者任何能让我在HTML源代码中自动编号的东西(类似于乳胶源)。

1 个答案:

答案 0 :(得分:1)

执行此操作的一种方法是使用扩展程序,例如https://github.com/rhopfer/sphinx-numbered-blocks

安装后,您的方法的conf.py可能如下所示:

...
numbered_blocks = [
    {'name': 'observation'},
]
...

然后,在你的来源中,你写下这个:

.. observation::

   This is an observation

导致HTML:

<div class="numbered-block observation" id="observation-0">
  <span class="title">
  <span class="label">Observation 1.1</span><p>This is an observation</p></span>
</div>

(您的确切输出可能略有不同)

有关更多配置示例以及如何修改标签,请参阅https://git.io/vHQzJ