如何更改通过下载角色引用的文件的文件路径以不使用散列文件夹?

How can I change the file path of files referenced via the download role to not use a hashed folder?

我想为我的项目中的文件提供一个 link,但我希望这个 link 是人类可读的和永久的。

这样做:

Link to file for reference :download:`myfile.json <../myproject/myfile.json>`.

生成如下所示的 link:

...../myproject/docs/_build/html/_downloads/b4c73f3851c188db23a20daeed2c/myfile.json

我可以控制这个吗?我希望 link 是这样的:

...../myproject/docs/_build/html/_downloads/myfile.json

我实际上更喜欢 link 在根目录中,所以它只是:

...../myproject/myfile.json

download role 按照文档中的说明进行操作,即,它创建具有唯一哈希的链接。除非更改实现,否则我看不到解决方法。

但是

I would actually prefer the link be in the root

在这种特殊情况下,我们可以(滥用)使用 html_extra_path,将其添加到 conf.py

html_extra_path = ['../myproject/myfile.json']

并使用常规 hyperlink:

引用文件
Link to file for reference `myfile.json <myfile.json>`_.

该文件必须位于根文件夹中(内置 HTML 文档),因为 html_extra_path 就是这样做的。它不能放在子文件夹中,例如 _downloads.