将其他 *.rst - 文件中的全文部分包含到此文件中?

Include whole text sections from other *.rst - files into this file?

提问人:glades 提问时间:11/12/2021 最后编辑:mzjnglades 更新时间:11/13/2021 访问量:1865

问:

我正在使用 Sphinx,我想自动将给定部分从一个 *.rst 文件“复制”到其他多个文件中,以便当我调整第一个文件中的文本部分时,更改会自动反映在其他文件的复制部分。

例如:

base.rst

This is a section/paragraph I want to see in other *.rst - files.

derivate.rst

Here is some text. But the following paragraph should be the paragraph from above ^^:

<that paragraph from above>

Here the file continues.

如何使用 Sphinx 和 reStructuredText 做到这一点?

python-sphinx restructuredtext 部分

评论


答:

4赞 Steve Piercy 11/13/2021 #1

使用 include 指令

Here is some text. But the following paragraph should be the paragraph from above ^^:

.. include:: base.rst

Here the file continues.

评论

1赞 glades 11/13/2021
谢谢,但这复制了整个事情..如果我只需要 base.rst 中的特定部分怎么办?
1赞 Steve Piercy 11/14/2021
将该部分放入自己的文件中,然后将其包含在 base.rst 和 derivate.rst 中。
1赞 mzjn 11/14/2021
该指令有几个选项,可用于包含文档的特定部分。请参见 stackoverflow.com/q/54518160/407651include
1赞 Steve Piercy 11/15/2021
@mzjn缺点是,如果您编辑包含的文件,则需要更新包含它的所有位置,因此我避免了这种用法。它适用于可以指定 Python 对象的位置,或者使用标记作为开始和结束的位置。我认为每个文件一个片段更容易管理。literalinclude
0赞 glades 11/18/2021
谢谢@mzjn我设法做到了.包括: <file> 和 :start-line: 2, :end-line: 4。