的Bonjour,
我有一个python模块' example_doc'与'MyObj'在其中,我试图使用sphinx进行记录。当我使用' autodoc'和autoclass指令:
.. autoclass:: testdoc.example_doc.MyObj
它生成带有对象描述的正确页面,因为我使用了' viewcode' sphinx扩展,我得到了源代码的链接。
但是当我尝试直接使用class指令重现结果时:
.. class:: testdoc.example_doc.MyObj
我没有获得源代码的链接。
编辑: 我使用最新版本的sphinx作为conda,即sphinx 1.3.5和 我只是拥有' sphinx.ext.autodoc'和' sphinx.ext.viewcode'作为我的conf.py中的扩展。
使用的代码:
Source link
===========
autodoc below
.. autoclass:: testdoc.example_doc.MyObj
class below
.. class:: testdoc.example_doc.MyObj
结果:
答案 0 :(得分:0)
我有同样的问题。在viewcode扩展中进行了一些调试以弄清楚使用autodoc和手动声明之间的区别之后,我发现可以通过在所有类之前分别声明模块来使其工作。
也就是说,不要这样做:
Page title
==========
Introductory text goes here
.. class:: testdoc.example_doc.MyObj
Bla bla bla, example documentation for the first class
.. class:: testdoc.example_doc.MySecondObj
Bla bla bla, example documentation for the second class
执行以下操作:
Page title
==========
Introductory text goes here
.. module:: testdoc.example_doc
.. class:: MyObj
Bla bla bla, example documentation for the first class
.. class:: MySecondObj
Bla bla bla, example documentation for the second class
我不确定这是错误还是预期的行为,但是无论哪种方式,显式声明模块都会使[source]
链接对我显示。