【问题标题】:Bokeh plot JS path in sphinx html hosted on gh-pages在 gh-pages 上托管的 sphinx html 中的散景图 JS 路径
【发布时间】:2017-12-21 19:21:33
【问题描述】:

我正在尝试使用 RST 文件中的“bokeh-plot”指令使用 bokeh-plot 扩展在 gh-pages 上托管一些基于 sphinx 的文档。我能够提供生成的 html 和关联的 JS,以使交互式绘图与本地主机烧瓶服务器正常工作。

我的问题是,在 gh-pages 上托管时,为绘图生成的脚本被放入顶级“脚本”文件夹(build/html/scripts),然后将生成的 html src 设置为“/scripts”。问题似乎在于此路径不是相对路径,然后解析为顶级 gh-pages url/scripts 而不是完整的存储库 url/scripts。当我手动将 html 编辑为正确的相对路径时,这些图在 gh-pages 上运行良好。解决此问题以在我的文档中包含交互式散景图的最佳方法是什么?

【问题讨论】:

    标签: html python-sphinx bokeh github-pages


    【解决方案1】:

    使情节脚本可以通过相对路径访问是still an open issue 不幸的是,这也是一项工作,并且存在很多问题并且核心开发人员很少,所以我怀疑它会很快得到优先考虑。

    您知道在已部署的 GH pages 站点上工作的绝对路径吗?如果是这样(似乎必须有?),那么我最好的建议是在生成输出之前编辑您本地安装的散景以指向该位置,而不是硬编码的 "/scripts" 值:

    https://github.com/bokeh/bokeh/blob/master/bokeh/sphinxext/bokeh_plot.py#L142

    更好的解决方案是提交 PR 以使此路径可配置,或使相对路径有效。如果您可能对从事这些工作感兴趣,请联系项目 GitHub

    【讨论】:

    • 谢谢。我有一些 hacky 解决方案可以让它适用于我的特定用例。不幸的是,我没有太多时间来找到一个值得公关的优雅方法。我最终做的是:当在_process_script 中解析脚本时,在路径的前面放置一个已知字符串($REL_PATH$),通过计算 env 中的“/”字符来查找run 中的文档深度。 docname,然后用适当数量的“../”替换标记的字符串。我现在正在 linux 上构建文档,但它一直在 gh-pages 上进行这些更改。如果需要,我可以在 gist 上发布详细信息。
    猜你喜欢
    • 2019-05-05
    • 2018-11-06
    • 2022-01-14
    • 2020-11-12
    • 2017-03-13
    • 1970-01-01
    • 1970-01-01
    • 2022-01-26
    • 2017-05-20
    相关资源
    最近更新 更多