我正在使用sphinx生成我的文档,并且autosummary extention负责为我自己没有明确编写的所有类生成小的存根。
取类Foo
并假设它有一个mixin Base
,它为存储添加了更多基本方法。它们不是私有的,因为它们可能有用,但仅占1%的用户。 mixin也出现在我使用的所有类中。重点是mixin必要但在所有类中记录它只会使文档混乱,我只想提到在类描述中使用Base mixin,但隐藏实际的方法和属性。
使用autodoc
我可以使用自定义autodoc-skip-member
删除记录这些功能。这有效,但只影响每个方法的扩展文档,而不是开头的继承方法的列表。
现在,autosummary会将所有这些放在存根中,并且不使用任何autodoc设置。我破解了自动编码,实际上做了我想做的事,但这确实不优雅。
我的问题是:
生成的内容如下所示
foo.Foo
=======
.. currentmodule:: foo
.. autoclass:: foo
.. automethod:: __init__
.. rubric:: Methods
.. autosummary::
~Foo.method1
~Foo.method2
~Foo.inherited_method_from_Base1 # remove
~Foo.inherited_method_from_Base2 # remove
.. rubric:: Attributes
.. autosummary::
~Foo.attribute1
~Foo.attribute2
~Foo.inherited_attribute_from_Base1 # remove
~Foo.inherited_attribute_from_Base2 # remove