Как вывести значение конфигурации в файл Sphinx.rst?
У меня есть следующее в conf.py
:
def setup(app):
app.add_config_value('base_url','http://localhost:2000', True)
Как мне получить это в мои .rst файлы? Я написал это:
:base_url:/my_app/api/application/
Но он только печатает :base_url:
вместо фактического URL.
Как получить фактическое значение конфигурации, которое будет выбрано?
Ответы
Ответ 1
Для подстановки ссылок хорошо подходит extlinks, для включения произвольных значений конфигурации, как было задано в вашем вопросе, вы можете использовать rst_epilog для подстановок (или rst_prolog для текста, который должен быть добавлен поверх ваших файлов .rst):
В вашем conf.py:
my_config_value = 42
rst_epilog = '.. |my_conf_val| replace:: %d' % my_config_value
В вашем .rst источнике:
Мое значение конфигурации | my_conf_val |!
В вашем выводе:
Мое значение конфигурации 42!
Ответ 2
Ах, ха!
Взгляните на модуль sphinx.ext.extlinks на http://sphinx.pocoo.org/ext/extlinks.html
Итак, у меня есть код в моей conf.py, который делает это:
extlinks = {'api_url' : (settings.BASE_URL + '%s', settings.BASE_URL)}
И в моем .rst файле у меня есть это:
:api_url:`/myapp/api/application/`
который создает красиво отформатированную ссылку как таковую:
http://localhost:8000/myapp/api/application/