Sphinx отлично подходит для связи с конкретными объектами Python.
Например, запись
:func:`foo.bar`
будет напрямую ссылаться на функцию bar
в foo.py
. Мне нужна та же функциональность, но вместо того, чтобы создавать кликабельную ссылку, я хочу, чтобы вместо нее был код bar()
.
Директива .. code-block:: language
требует, чтобы вы вручную писали код, который хотитеДобавлять. Но я хочу сослаться на код, который уже существует во внешних проектах Sphinx, используя intersphinx , а не писать код сам. :mod:
, :func:
и другие только создают ссылки, но не включают в себя исходный код.
Также есть .. literalinclude:: filename
, но в моем случае я не могу использовать его, потому что функция происходит извнепроект Sphinx (он связан с использованием intersphinx и не является частью реального проекта). Даже если .. literalinclude:: filename
может каким-то образом работать с кросс-проектами, я думаю, что мне все равно нужно будет использовать :lines:
для фильтрации каждой функции, что было бы огромной болью для отслеживания.
Как можноссылаться на функцию / класс по пути к пространству имен и использовать это для добавления ее исходного кода непосредственно в первый файл sphinx? (Не в виде кликабельной ссылки, а в буквальном коде).