首页 > 解决方案 > 狮身人面像 - 引用来自不同位置的图像

问题描述

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

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

我的文件夹层次结构是:

MyProject
  docs
    index.rst
    module_1_link.rst
      _static
        <more irrelevant assets...>               
  module_1
    docs
      README.rst
      _static
        myimage.png

index.rst文件如下所示

.. toctree::
    :caption: Module1
    module_1_link

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

.. include:: ../module1/docs/README.rst

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

.. image:: _static/myimage.jpg

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

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

 WARNING: image file not readable: _static/myimage.jpg

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

标签: python-2.7python-sphinxread-the-docs

解决方案


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

.. image:: /module1/docs/_static/myimage.jpg

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

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


推荐阅读