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

时间:2016-01-21 00:00:09

标签: python-sphinx

假设我有一个Sphinx索引文件

.. toctree::

   foo
   bar

文件foo只有一个标题

***
Foo
***

All about foo.

而bar有两个

***
Bar
***

All about Bars.

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

All about ex-parrots.

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

2 个答案:

答案 0 :(得分:2)

不幸的是,基于来自ReadTheDocs开发人员对irc的另一个问题的答案,他们此时只构建了一个.html文件。

来源:https://stackoverflow.com/a/32788289/3750804

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

http://mkdocs.org

答案 1 :(得分:0)

这并不完全符合您的要求,但也许// get tab html and insert it in page $.ajax({ type: "POST", url: "get_tab1/", data: {}, success: function(data){ document.getElementById("tab1").innerHTML = data; } ,error: function() { } }); 指令对您有用吗?我有一个巨大的源文件(来自旧版手册),并使用注释书签将其部分包含在较小的文件中,而较小的文件则分别呈现为html。例如:

在myBigFile.rst中:

..include::

然后在单独的文件中拥有:

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

如果您不希望它在toctree中包含扩展名,则可能需要更改myBigFile上的扩展名,因此,如果所包含的位具有自动链接的节标题,则可以避免重复节标题错误。