7

我有一个使用 Read-The-Docs 主题以编程方式生成的 sphinx-doc 源。源代码树如下所示:

source
├── conf.py
├── index.rst
├── models
│   ├── 1lin
│   │   ├── 1lin_Amplero.rst
│   │   ├── 1lin_Blodgett.rst
│   │   ├── 1lin_Bugac.rst
│   │   ├── ..
│   │   ├── figures
│   │   │   ├── 1lin_all_PLUMBER_plot_all_metrics.png
│   │   │   ├── 1lin_all_PLUMBER_plot_distribution_metrics.png
│   │   │   ├── 1lin_all_PLUMBER_plot_standard_metrics.png
│   │   │   ├── Amplero
│   │   │   │   ├── 1lin_Amplero_PLUMBER_plot_all_metrics.png
│   │   │   │   ├── 1lin_Amplero_rank_counts_all_metrics.png
│   │   │   ..  .. 
│   │   ├── index.rst
│   │   .. 
│   ├── 2lin
│   │   ├── 2lin_Amplero.rst
│   │   ├── 2lin_Blodgett.rst
│   │   ├── 2lin_Bugac.rst
│   │   │   ..  
│   │   ├── index.rst
│   │   .. 
├── model_search.rst
├── sphinx_static
│   ├── jquery
│   │   ├── AUTHORS.txt
│   ..  ..
├── sphinx_templates
│   └── layout.html
..

index.rst包括一个目录,如:

.. toctree::
    :maxdepth: 2

    model_search

    ...

model_search.rst包括所有模型index.rst

.. toctree::
    :maxdepth: 1

    models/1lin/index
    models/2lin/index

    ...

当我最初使用 构建源代码时make html,它构建得很好,并创建了一个包含所有现有模型的 TOC。

但是,当我添加一个新模型(例如3linmake build时,TOC 不会在现有模型( 、 等)的页面上重新1lin生成2lin。我发现在所有页面上正确重新创建目录的唯一方法是修改conf.py(例如启用/禁用autodoc)或手动touch所有相关.rst文件。

TOC 是否应该在旧模型页面上重新生成,或者这是预期的行为?如果它应该发生,出了什么问题?

4

1 回答 1

3

这是预期的行为。Sphinx 仅构建自上次构建以来未更改的文件。您可以在touch每个文件中运行,也可以在运行make clean之前运行make html.

于 2017-03-13T16:30:46.937 回答