您可以在不更改 URI 的情况下更改 sphinx 中“rst”文件的位置吗?我正在编写一个文档,我们希望将一些文件移动到不同的文件夹,而不更改 URI:
例如:如果您创建一个 sphinx 项目$ sphinx-quickstart
并添加一些文件和文件夹:
index.rst
/tutorials/howToFoo.rst
/scripts/
使用 toctreeindex.rst
看起来像这样:
.. toctree::
:maxdepth: 1
:caption: Processing:
:glob:
scripts/*
tutorials/*
然后使用 构建项目后make html
,您的浏览器中有一个链接,如下所示:tutorials/howToFoo.html
如果您想将文件保存在不同的文件夹中:
index.rst
/tutorials/
/scripts/howToFoo.rst
然后文件的 URLhowToFoo.rst
会根据保存位置而更改:
脚本/howToFoo.html。
这是一个问题,因为我不希望教程或脚本的链接中断。由于该项目旨在包括许多人,因此将来文件结构很可能会发生变化。
现在我的问题是:您是否可以创建一个设置,您可以在每次移动文件时移动文件而不必将重定向写入新位置?
对于 Sphinx 内部的交叉引用,这可以通过目标来解决,在这里解释:
https
://docs.readthedocs.io/en/stable/guides/cross-referencing-with-sphinx.html#automatically-label-sections
但是这个对我没有帮助,因为浏览器中的链接仍然保持不变。我想要的是一个链接SomeNeverchangingLinkFor_howToFoo.html
,无论文件howToFoo.rst
保存在哪里。