Sphinx:将输出 html 拆分为比输入文件更小的页面

Sphinx: split output html into smaller pages than input files

假设我有一个 Sphinx 索引文件

.. toctree::

   foo
   bar

并且文档 foo 只有一个标题

***
Foo
***

All about foo.

而酒吧有两个

***
Bar
***

All about Bars.

******
Parrot
******

All about ex-parrots.

如果我将其编译为 HTML,它将创建三个页面; indexfoobar。但是假设我希望 Parrot 拥有自己的 HTML 页面。有没有办法在不拆分 bar 源文件的情况下实现这一点?

不幸的是,根据 irc 上 ReadTheDocs 开发人员的另一个问题的回答,他们目前只构建了一个 .html 文件。

来源:

如果您正在寻找可以为您提供多个 HTML 文件的工具(不幸的是,同时失去了 PDF 构建支持),请查看 MkDocs,它也可以托管在 readthedocs.org.

http://mkdocs.org

这不是您想要的,但也许 ..include:: 指令对您有用?我有一个巨大的源文件(来自遗留手册),并使用评论书签将其部分包含在较小的文件中,这些较小的文件分别呈现为 html。例如:

在myBigFile.rst中:

***
Bar
***

All about Bars.

.. marker_start_here:

******
Parrot
******

All about ex-parrots.

.. marker_end_here:

Other stuff you don't want in your smaller file ...

那么在你的单独文件中你有:

.. include:: myBigFile.rst
   :start-after: marker_start_here
   :end-before: marker_end_here

如果您不希望它包含在目录树等中,您可能需要更改 myBigFile 上的扩展名,这样如果您包含的位具有自动链接的章节标题,您可以避免重复章节标题错误。