Нашел лучшее решение (на мой взгляд), которое можно использовать в других директивах, таких как :samp:
и может быть полезно для будущих читателей.
config.py:
def ultimateReplace(app, docname, source):
result = source[0]
for key in app.config.ultimate_replacements:
result = result.replace(key, app.config.ultimate_replacements[key])
source[0] = result
ultimate_replacements = {
"{TEST}" : "replaced"
}
def setup(app):
app.add_config_value('ultimate_replacements', {}, True)
app.connect('source-read', ultimateReplace)
А вот такая разметка:
.. http:get:: testing/replacement/{TEST}
Правильно генерирует как:
testing/replacement/replaced
Обратите внимание, что при использовании этого параметра для замены аргумента в директиве :samp:
требуется двойная скобка {
.
:samp:`func({{TEST}})`.
источник: https://github.com/sphinx-doc/sphinx/issues/4054