如何在 sphinx 文档中嵌入 <picture> 标签?
How do you embed a <picture> tag in sphinx docs?
我发现了以下问题:
How do we embed images in sphinx docs?
然而,此图像标签假定文件为 jpg 或 png:
.. image:: picture.jpg
:width: 200px
:height: 100px
:scale: 50 %
:alt: alternate text
:align: right
问题是 jpg 和 png 不是现代格式(还在 Lighthouse/Google PageSpeed Insights 中创建了一个糟糕的速度索引:)。我想将 html 标签与包含两种格式的两个相同文件的 srcset 一起使用。
类似的东西:
<picture>
<source srcset="diagram.avif" type="image/avif">
<img src="diagram.jpg" width="620" height="540">
</picture>
这将为所有现代浏览器提供较小的图像,但将为不支持 avif 的浏览器(例如 IE)提供 png。你怎么能在 sphinx 文档/RST 中做到这一点?
使用 raw
指令和您的代码。
.. raw:: html
<picture>
<source srcset="diagram.avif" type="image/avif">
<img src="diagram.jpg" width="620" height="540">
</picture>
要复制任意静态文件,将它们放在与文档源文件相关的目录中,比如 _static
,将文件放在那里,然后在 [=15] 中配置值 html_static_path
=].例如:
html_static_path = [
'_static',
]
你也可以用sphinxext-photofinish,文档有点欠缺,不过一般来说,你的图片标签可以保留为:
.. image:: picture.jpg
:alt: Alt Text
而且它应该会自动生成一个<picture>
标签,尝试转换为.webp
并填写width/height。如果您想查看示例,它在 frc-docs 中使用。
我发现了以下问题: How do we embed images in sphinx docs?
然而,此图像标签假定文件为 jpg 或 png:
.. image:: picture.jpg
:width: 200px
:height: 100px
:scale: 50 %
:alt: alternate text
:align: right
问题是 jpg 和 png 不是现代格式(还在 Lighthouse/Google PageSpeed Insights 中创建了一个糟糕的速度索引:
<picture>
<source srcset="diagram.avif" type="image/avif">
<img src="diagram.jpg" width="620" height="540">
</picture>
这将为所有现代浏览器提供较小的图像,但将为不支持 avif 的浏览器(例如 IE)提供 png。你怎么能在 sphinx 文档/RST 中做到这一点?
使用 raw
指令和您的代码。
.. raw:: html
<picture>
<source srcset="diagram.avif" type="image/avif">
<img src="diagram.jpg" width="620" height="540">
</picture>
要复制任意静态文件,将它们放在与文档源文件相关的目录中,比如 _static
,将文件放在那里,然后在 [=15] 中配置值 html_static_path
=].例如:
html_static_path = [
'_static',
]
你也可以用sphinxext-photofinish,文档有点欠缺,不过一般来说,你的图片标签可以保留为:
.. image:: picture.jpg
:alt: Alt Text
而且它应该会自动生成一个<picture>
标签,尝试转换为.webp
并填写width/height。如果您想查看示例,它在 frc-docs 中使用。