Как бы я перекрестно ссылался на функцию, сгенерированную autodoc в Sphinx?
Я использую функцию Sphinx autodoc
для создания документации на основе docstrings в моей библиотеке Python.
Синтаксис перекрестной ссылки найден здесь
Метка должна предшествовать разделу, чтобы разрешить ссылку на этот раздел из других областей документации.
У меня есть файл .rst(ReStructeredText) для одного из моих классов. Он использует
.. autoclass:: classname
:members:
Чтобы создать документацию для класса.
Мой вопрос: как бы я ссылался на автогенерированные методы класса из другого документа .rst в документации? Если я попытаюсь поместить метку в метод docstring, Sphinx жалуется. Если я попытаюсь поместить ярлык перед заголовком метода, Sphinx не распознает его.
Есть ли простой способ сделать это, или мне нужно явно записать в свой файл класса имя метода и предшествовать его с помощью метки?
Вот пример ссылки в [Документация Python 2, которая делает то, что мне нужно (я предполагаю, что она использует функцию автодока, хотя я не точно знаю)
Ответы
Ответ 1
Вам не нужно добавлять ярлыки. Чтобы обратиться к классу, методу или другому документированному объекту Python, используйте разметку, предоставленную доменом Python.
Например, следующее определяет перекрестную ссылку на метод mymethod
:
:py:meth:'mymodule.MyClass.mymethod'
Или даже проще (поскольку домен Python используется по умолчанию):
:meth:'mymodule.MyClass.mymethod'
Документация по TextWrapper.wrap
, на которую вы ссылаетесь в вопросе, включает две перекрестные ссылки такого рода (нажмите "Показать источник", чтобы увидеть разметку reST).