Sphinx - 引用来自不同位置的图像

Sha*_*arA 6 python-2.7 python-sphinx read-the-docs

我正在使用 Python Sphinx(通过ReadTheDocs)。

我有一个包含几个子模块的存储库,我正在尝试创建一个统一的文档,但仍然单独保留每个模块中的文档资产。

我的文件夹层次结构是:

MyProject
  docs
    index.rst
    module_1_link.rst
      _static
        <more irrelevant assets...>               
  module_1
    docs
      README.rst
      _static
        myimage.png
Run Code Online (Sandbox Code Playgroud)

index.rst文件看起来是这样的:

.. toctree::
    :caption: Module1
    module_1_link
Run Code Online (Sandbox Code Playgroud)

文件module_1_link.rst仅包含指向模块 1 的 README 文件的链接:

.. include:: ../module1/docs/README.rst
Run Code Online (Sandbox Code Playgroud)

模块 1的README.rst引用了图像:

.. image:: _static/myimage.jpg
Run Code Online (Sandbox Code Playgroud)

当我查看模块 1(在 GitHub 内)的 README 文件时 - myimage.png 显示完美。

但是,当我通过 sphinx 运行文档时,我得到:

 WARNING: image file not readable: _static/myimage.jpg
Run Code Online (Sandbox Code Playgroud)

我找不到从自述文件和 sphinx 呈现的索引文件中引用相同图像的方法,并在两个地方都看到它。

Ste*_*rcy 5

将图像的引用更改README.rst为相对于文档根目录。

.. image:: /module1/docs/_static/myimage.jpg
Run Code Online (Sandbox Code Playgroud)

另请参阅有关图像路径的Sphinx 文档。

在 Sphinx 中使用时,给定的文件名(此处gnu.png)必须相对于源文件,或绝对的,这意味着它们相对于顶级源目录。例如,文件sketch/spam.rst可以将图像引用images/spam.png../images/spam.png/images/spam.png