Хорошо, вот как я это сделал. Во-первых, apilinks.py
(расширение Сфинкса):
from docutils import nodes, utils
def setup(app):
def api_link_role(role, rawtext, text, lineno, inliner, options={},
content=[]):
ref = app.config.apilinks_base + text
node = nodes.reference(rawtext, utils.unescape(ref), refuri=ref,
**options)
return [node], []
app.add_config_value('apilinks_base', 'http://localhost/', False)
app.add_role('apilink', api_link_role)
Теперь, в conf.py
, добавьте 'apilinks'
в список расширений и установите соответствующее значение для 'apilinks_base'
(в противном случае по умолчанию будет 'http://localhost/'
). Мой файл выглядит так:
extensions = ['sphinx.ext.autodoc', 'apilinks']
# lots of other stuff
apilinks_base = 'http://host:88/base/'
Использование:
:apilink:`path`
Выход:
<a href="http://host:88/base/path">http://host:88/base/path</a>