Sphinx for Python中函数或类的交叉引用文档
我想在一个解释性文档中,引用一个Python类的文档,稍后再引用它的构造函数。假设有一个文件Sphinx for Python中函数或类的交叉引用文档,python,python-sphinx,autodoc,cross-reference,Python,Python Sphinx,Autodoc,Cross Reference,我想在一个解释性文档中,引用一个Python类的文档,稍后再引用它的构造函数。假设有一个文件 #MyLib/MyClass.py 类别MyClass: “课堂介绍” 定义初始化(参数): “:param paramX:Xes输出内容” 还有我的rst文件 #MyLib/docs/source/MyDoc.rst 一些文本,其中:ref:`here`是我对“课堂介绍”的引用 and:ref:`there`跟随我对_init__方法文档的引用 如何使引用正常工作:Sphinx文件中需要如何和在何
#MyLib/MyClass.py
类别MyClass:
“课堂介绍”
定义初始化(参数):
“:param paramX:Xes输出内容”
还有我的rst文件
#MyLib/docs/source/MyDoc.rst
一些文本,其中:ref:`here`是我对“课堂介绍”的引用
and:ref:`there`跟随我对_init__方法文档的引用
如何使引用正常工作:Sphinx文件中需要如何和在何处包含Python文件,以及如何定义(在Python文件中)和解析(在rst文件中)引用?预期输出如下所示:
Some text where <link to documentation of class _MyClass_>...
and
'class MyClass
def __init__(paramX):
paramX: Xes out things'
一些文本,其中。。。
及
“我的班级”
定义初始化(参数):
paramX:Xes把事情弄清楚了
如前所述,括号中包含指向文档的链接,文档本身出现在rst文件中分别由
:ref:`here`
和:ref:`there`
引用的“and”之后。来自问题中的示例模块ref\u constructor.py
class-MyClass:
“课堂介绍。”
定义初始化(参数):
“”构造函数的文档字符串。
:param paramX:Xes输出内容。
:type paramX:str
"""
使用reST文件ref\u constructor.rst
注意选择适当的角色,在这种情况下:class:
和:meth:
对类构造函数的引用
------------------------------
.. automodule::ref\u构造函数
.. 这里开始反文档。
其中的一些文本:class:`ref_constructor.MyClass`是我对“类简介”的引用
和:meth:`ref\u constructor.MyClass.\uuu init\uuuuuu`遵循我对uuu init\uuuu方法文档的引用。
其中:class:`MyClass`是我对“课堂介绍”的引用
和:meth:`MyClass.\uuuu init\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu。
您可以根据上下文使用完全限定名或缩写形式编写交叉引用
此标记中包含的名称可以包括模块名和/或类名。例如,:py:func:`filter`
可以引用当前模块中名为filter的函数,也可以引用该名称的内置函数。相比之下,:py:func:`foo.filter`
显然是指foo模块中的filter函数
结果
See已经尝试过了,但是id只显示方法的名称,没有显示文档,也没有提供任何类型的链接。我提供了一个示例,但经过编辑,希望能让事情变得更清楚。如果这还不够的话,我明天可以抽出一些时间建立一个完整的工作示例,其中包含所有需要的文件。我希望在没有这些的情况下它会很清楚,如果不是这样的话,请原谅。我想您可能正在寻找autosummary或autodoc来生成一个包含有关您的类的信息的页面:。要引用它,请使用
:py:class:
进行交叉引用(请注意,您通常可以将其设置为py
是隐式的,您只需使用:class:
这就是我要找的,谢谢!现在我知道了,我很快在sphinx文档中找到了它。不知道为什么我以前不能。非常感谢。如果您将其重新编写为答复,我可以将其标记为“已解决”.我现在也知道为什么上面的链接没有变成参考。