Sphinx可以先发出'模块内容',然后发送'子模块'吗?

dav*_*les 5 python-sphinx

我通常将Python包的高级文档放入其__init__.py文件的docstring中.这对我来说很有意义,因为该__init__.py文件代表了包与外界的接口.(而且,真的,你还能把它放在哪里?)

所以,当我第一次启动Sphinx并在所有子模块的内容之后将这些内容隐藏在包文档的最末端时,我真的很惊讶.

这对我来说似乎很落后.用户在访问包的页面时看到的第一件事是子模块的文档,它恰好按字母顺序排在第一位,他应该首先看到的是靠近底部的东西.

我想知道是否有办法解决这个问题,以便__init__.py在子模块中的所有内容之前将内部的内容首先出现.如果我只是以错误的方式解决这个问题,我想知道这一点.谢谢!

dav*_*les 9

是的,有一个选项可以做到这一点,这里没有记录.在我的副本中Sphinx-1.3.3/sphinx/apidoc.py我发现了这个:

parser.add_option('-M', '--module-first', action='store_true',
                  dest='modulefirst',
                  help='Put module documentation before submodule '
                  'documentation')
Run Code Online (Sandbox Code Playgroud)

我试了一下它就像一个魅力.

  • 它在此处记录:http://www.sphinx-doc.org/en/stable/invocation.html#cmdoption-sphinx-apidoc-M (3认同)