Указание онлайн-изображения в формате Sphinx (реорганизованный текст)

Любые идеи о том, как я могу ссылаться на онлайн-образ при документировании с помощью Sphinx?

Это НЕ работает:

.. image:: http://www.mysite.com/images/someimage.png

Дает мне:

/home/user/proj/2010/11/08/the_forever_war.rst:11: WARNING: nonlocal image URI found: http://www.mysite.com/images/someimage.png

Спасибо...

Ответ 1

Это довольно смущающее...

Как сказал delnan в своем комментарии, я получаю предупреждение.

В моей защите я пытался выполнить некоторые довольно сложные исходные директивы, прежде чем решился на директиву изображения, и я просто смотрел на вывод Sphinx, а не на отображаемые страницы. Когда я увидел длинный вывод из Sphinx, я предположил, что снова ударил еще одну ошибку.

Тем не менее, я виноват... Изображение загружается отлично.

Ответ 2

Как и в sphinx 1.4, вы можете "сфинкс обезьяны" из вашего файла docs/conf.py следующим образом:

import sphinx.environment
from docutils.utils import get_source_line

def _warn_node(self, msg, node, **kwargs):
    if not msg.startswith('nonlocal image URI found:'):
        self._warnfunc(msg, '%s:%s' % get_source_line(node), **kwargs)

sphinx.environment.BuildEnvironment.warn_node = _warn_node

В предыдущей версии этого ответа был исправлен патч, который несовместим с последней версией sphinx 1.4 [1]. Кроме того, следующий выпуск sphinx должен поддерживать этот вариант конфигурации [2]:

suppress_warnings = ['image.nonlocal_uri']

Это исключает любые предупреждения об обнаружении URI нелокального изображения.

Я нашел это необходимым, потому что хочу, чтобы sphinx-build -W испускать "предупреждения как ошибки" как часть моей тестовой и построенной инфраструктуры, чтобы в документации не было ошибок - я очень хорошо знаю, что я использую нелокальный URI изображения, и я в порядке с это, но я не хочу игнорировать другие предупреждения.

[1] https://github.com/sphinx-doc/sphinx/issues/2429#issuecomment-210255983

[2] https://github.com/sphinx-doc/sphinx/issues/2466

Ответ 3

Я использую для этого raw html-код, например:

.. raw:: html

   <p style="height:22px">
     <a href="#" onclick="location.href='https://travis-ci.org/aio-libs/aiozmq'; return false;" >
       <img src="https://travis-ci.org/aio-libs/aiozmq.svg?branch=master"/>
     </a>
   </p>