我正在使用Sphinx + autodoc + autosummary为我的项目(mrpy
)生成文档。
我正在进行两层摘要,其中(至少)在index.rst
中]]
mrpy ==== .. autosummary:: :toctree: _autosummary :template: modules.rst mrpy.stats <other modules...>
如您所见,我将自定义模板用于模块级自动摘要。我这样做是为了在模块级摘要上获得模块内对象的摘要,每个对象都链接到各自的页面。供参考,我的
modules.rst
文件是
{{ fullname }} {{ underline }} .. automodule:: {{ fullname }} {% block functions %} {% if functions %} .. rubric:: Functions .. autosummary:: :toctree: {{ objname }} {% for item in functions %} {{ item }} {%- endfor %} {% endif %} {% endblock %} {% block classes %} {% if classes %} .. rubric:: Classes .. autosummary:: :toctree: {{ objname }} :template: class.rst {% for item in classes %} {{ item }} {%- endfor %} {% endif %} {% endblock %} {% block exceptions %} {% if exceptions %} .. rubric:: Exceptions .. autosummary:: {% for item in exceptions %} {{ item }} {%- endfor %} {% endif %} {% endblock %}
mrpy.stats
仅包含三个类,当跟随索引页上生成的表中的链接时,可以很好地总结这些类。当遵循这些类之一的链接时,我使用另一个自定义模板class.rst
:
列出了该类的方法和属性的摘要。{{ fullname }} {{ underline }} .. currentmodule:: {{ module }} .. autoclass:: {{ objname }} {% block methods %} {% if methods %} .. rubric:: Methods .. autosummary:: :toctree: {{ objname }} {% for item in methods %} ~{{ name }}.{{ item }} {%- endfor %} {% endif %} {% endblock %} {% block attributes %} {% if attributes %} .. rubric:: Attributes .. autosummary:: :toctree: {{ objname }} {% for item in attributes %} ~{{ name }}.{{ item }} {%- endfor %} {% endif %} {% endblock %}
但是,此类的页面包含标题,如预期的那样,类docstring,如预期的那样,但是two
任何人都知道如何摆脱冗余表之一?
我正在使用Sphinx + autodoc + autosummary为我的项目(mrpy)生成文档。我正在做一个两层的摘要,在index.rst中,我(至少)有mrpy ==== .. autosummary :::...
似乎答案是numpydoc与autosummary捆绑在一起。将numpydoc_show_class_members=False
添加到conf.py中可以解决此问题。在这里找到解决方案:https://github.com/phn/pytpm/issues/3#issuecomment-12133978