Rob*_*lle 2 restructuredtext python-sphinx
正如标题所述,我正在使用 sphinx-doc,当构建输出为 latexpdf 时,我真的想有条件地呈现静态 PNG,而为 Web 构建时,我真的想有条件地呈现动画 GIF。
理想情况下,能够以某种方式在 rst 文件本身中执行此操作会很好......语义上是:
if builder == html: .. image: blah blah elif builder == latexpdf: .. image: blah blah
Sphinx 通过允许扩展名使用星号来扩展标准 docutils 行为:
Run Code Online (Sandbox Code Playgroud).. image:: gnu.*Sphinx 然后搜索与提供的模式匹配的所有图像并确定它们的类型。然后每个构建器从这些候选图像中选择最佳图像。例如,如果文件名
gnu.*是给出两个文件gnu.pdf,并gnu.png在源代码树中存在,乳胶建设者会选择前者,而HTML生成器会选择后者。支持的图像类型和选择优先级在可用构建器中定义。
要为给定的构建器自定义“最佳图像”顺序,请编辑您conf.py以StandaloneHTMLBuilder使用supported_image_types您喜欢的顺序覆盖该类。
from sphinx.builders.html import StandaloneHTMLBuilder
StandaloneHTMLBuilder.supported_image_types = [
'image/svg+xml',
'image/gif',
'image/png',
'image/jpeg'
]
Run Code Online (Sandbox Code Playgroud)