如何获取Sphinx模板中根文件夹的路径?

问题描述

当我的根文档位于 /some/path/_static 时,一些来自 sphinx 模板包的静态文件出现在 /some/path/index.html 下。在我的模板中,我想引用 _static 文件夹中的文件

目前我使用的 src="{{ pathto(master_doc)[:-10] }}_static/... 看起来很笨拙,并且只有在根文件具有正确长度的名称时才能工作。

或者,我尝试了 src="{{ pathto(master_doc)}}/../_static/。这会破坏 index.html 本身。

有没有办法获取 master_doc 所在文件夹的路径?

解决方法

要从模板引用 Sphinx 静态目录中的文件,请使用 pathto(file,1)

这将返回文件的路径,该文件是相对于生成输出的根的文件名。使用它来引用静态文件。

对于图像,您可以在模板中使用它。

src="{{ pathto('_static/my-file.jpg',1) }}