создание образов в директивах reST

Я пытаюсь создать директиву reStructuredText, которая берет ее содержимое, создает изображение на основе этого содержимого с помощью PIL, а затем отображает сгенерированное изображение в документе. Пока что я сделал подкласс директивы изображения, создал файл по определенному пути (скажем, images/diagram.png), а затем передал images/diagram.png директиве изображения. Проблема в том, что файл сохраняется в ./images/, но сгенерированный html-документ ищет его в {output_dir}/static/images/.

Мой вопрос: как мне получить доступ к значению каталога, который reST использует для хранения вывода, чтобы я мог спрятать свое изображение в нужном месте?


person jcdyer    schedule 26.10.2011    source источник
comment
Мое временное решение состояло в том, чтобы сохранить изображение во временный файл, а затем прочитать содержимое в URI данных, который я затем передал директиве изображения в качестве URL-адреса изображения для рендеринга, что работает, но по ряду причин я предпочел бы иметь реальный файл изображения для работы.   -  person jcdyer    schedule 26.10.2011


Ответы (1)


Просмотрите источники sphinx.ext.graphviz (например, здесь), это расширение Sphinx делает почти то же самое, что вы описываете.

person abbot    schedule 26.10.2011
comment
Похоже, что это можно сделать с помощью sphinx, но, как правило, docutils не знает, куда будут отправлены его выходные данные, поэтому у него нет знаний, необходимых для размещения сгенерированных файлов в нужном месте. - person jcdyer; 12.04.2012