gpt4 book ai didi

python-sphinx - 是否可以将 graphviz 元素链接到 sphinx 链接?

转载 作者:行者123 更新时间:2023-12-03 12:18:53 25 4
gpt4 key购买 nike

我用 graphviz在我的 Sphinx文档并希望重用由 RestructuredText 代码自动生成的链接。

You may want to jump directly to the UPDATE 2 at the bottom for asummary (spoiler: does not work for me)


我得到的输出
Hello
-----
Test of a graph

.. graphviz::

digraph process {
a [label="first", href="http://google.com"];
b [label="second", href="#World"];
a -> b;
}

World
-----
Something else.
是正确的,但尽管生成的图像是 SVG , firstsecond不可点击:
enter image description here
如果我右键单击嵌入的图像并在新选项卡中打开它,它有我可以单击的事件链接。 看起来嵌入图像是否阻止了链接处于事件状态。
我的元素 conf.py与graphviz相关:
extensions = [
'sphinx.ext.todo', 'sphinx.ext.graphviz'
]
graphviz_output_format = 'svg'
是否有一些特定的东西要在 Sphinx 中设置才能使嵌入式图形具有这种行为?
更新
bug report filed
更新 2
我用 updated Sphinx 试过这个(这会引入与 graphviz 相关的更改)。结果是:
  • 打开新页面不起作用。我选择了一个非 HTTPS 页面( http://www.timeanddate.com/ )而不是 Google 并且我将页面嵌入到了 IFRAME 中:

  • enter image description here
  • 结果在浏览器(Chrome 47、FF 43、IE Edge)之间保持一致

  • 总结是嵌入功能(感谢@xuhdev 的工作)至少对我来说是非功能性的。

    最佳答案

    我发现了问题,我认为这是一个错误。 graphviz 扩展在 <img> 中插入 svg 图像,这使得 svg 文件是非交互式的。我已经 made a pull request通过用对象替换 img 标签来解决这个问题。您现在可以使用我的分支来解决此问题:

    pip install git+https://github.com/xuhdev/sphinx@graphviz-interactive-svg

    添加选项以内联 svg 文件的替代解决方案也是 available .

    您还需要使用 target 更新您的 graphviz 文件:
    digraph process {
    a [label="first", href="http://google.com", target="_top"];
    b [label="second", href="#World"];
    a -> b;
    }

    您可以查看可能的目标 here .

    关于python-sphinx - 是否可以将 graphviz 元素链接到 sphinx 链接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34269413/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com