6 restructuredtext python-sphinx read-the-docs
我有多个节点的SVG图像文件,每个节点都与URL关联。如果直接在浏览器中打开此文件,则可以单击每个节点,它将打开不同的URL。但是,当我在Sphinx文档中使用此图片时,它不起作用-图片整体呈现,因此我需要打开它,View Image然后才能单击节点。
我正在使用标准的图像指令:
.. image:: myfile.svg
Run Code Online (Sandbox Code Playgroud)
可能我需要使用其他东西吗?
一种简单的解决方案是在此.. image:: myfile.svg命令中添加指向 svg 文件的链接:
.. image:: myfile.svg
:target: _images/myfile.svg
Run Code Online (Sandbox Code Playgroud)
注意检查生成html文件时复制图像的相对目录。默认情况下,它应该是_images/.
这样,您可以单击 SVG 文件,在普通页面中查看它,然后像往常一样单击它(不是完美的解决方案,但仍然......)。
Sphinx会<img>为图像生成标签,这在大多数情况下是有意义的。但是,要使svg内部的链接可单击,应使用一个<object>标记,即:
.. raw:: html
<object data="myfile.svg" type="image/svg+xml"></object>
Run Code Online (Sandbox Code Playgroud)
(关于您链接到的GitHub问题,我认为Sphinx不能在这里做很多事情-这确实很复杂-缺少在.. image指令中引入新选项的方法,该选项可以让用户指定呈现为img还是object标签。 )
我可能误解了 OP 的要求,但为什么不将 SVG 作为 html 包含到 sphinx 文档中呢?这似乎对我有用:
.. raw:: html
:file: images/image.svg
Run Code Online (Sandbox Code Playgroud)