如何修改Sphinx中download角色引用文件的路径,取消哈希文件夹生成?
解决方案
需求1:去掉下载路径中的随机哈希串,生成_downloads/文件名格式的链接
你看到的路径中间的随机串是Sphinx的默认行为,用来避免不同目录下重名文件的下载冲突,要关闭的话直接修改Sphinx项目的conf.py配置文件,新增以下配置即可:
# 注意该配置仅支持Sphinx 4.0及以上版本,版本过低请先升级Sphinx html_download_path = "_downloads/{basename}"
修改后重新执行构建命令,生成的下载链接就会变成你期望的_build/html/_downloads/myfile.json格式。
注意:该配置生效后如果项目内存在多个同名的下载文件,后构建的文件会覆盖先构建的同名称文件,仅在你确认所有下载文件无重名时使用。
需求2:直接链接到项目根目录的源文件
不需要用:download:角色,直接用普通相对路径链接即可,路径以构建输出的_build/html目录为基准计算相对路径即可。比如你要指向项目根目录的myfile.json,对应的相对路径是从_build/html向上回溯3层到项目根,写法如下:
Link to file for reference [myfile.json](../../myfile.json).
这种写法不会触发Sphinx的文件复制逻辑,你需要确保部署或本地预览时,目标文件在对应路径下真实存在即可。
内容的提问来源于stack exchange,提问作者red888
相关产品推荐
相关产品推荐

