SVG Sphinx继承图中缺少链接

时间:2014-01-17 02:11:12

标签: svg hyperlink graphviz python-sphinx

当我配置Sphinx's Graphviz扩展名以生成SVG输出时,使用

graphviz_output_format = 'svg'

我无法再点击使用inheritance_diagram extension生成的继承图的节点。

有没有办法在SVG图中启用这些链接,还是只能用于PNG图?

1 个答案:

答案 0 :(得分:1)

我在嵌入式点图(Sphinx中的graphviz指令)方面有类似的经验。我做了一点挖掘(和测试),得出结论:

  1. graphviz_output_format设置为png时,sphinx会通过执行以下操作来处理此问题:
    1. 点输出.png和相应的.map文件。
    2. 呈现的HTML包含一个地图部分,以及#34; overlay"带有链接目标的png图像。
  2. 使用SVG时,渲染器会省略地图部分,仅生成SVG图像。由于SVG支持格式内的链接(点正确嵌入),我认为预计地图部分是冗余的(或者更可能是有问题的,因为它会与#SV;竞争"与SVG渲染的图像进行聚焦。)
    1. here所述,大多数浏览器会禁用嵌入式SVG链接(当被<img>标记包围时)。结果是嵌入式链接不可见,因此无法点击。
  3. 在我直接在浏览器中打开SVG图像的情况下,嵌入式链接是可点击的(在Safari和Firefox上测试)。