2009-09-02 14 views
11

Sphinxにはautomethodという機能があり、メソッドのdocstringからドキュメントを抽出し、ドキュメントに埋め込みます。しかし、それはdocstringだけでなく、メソッドのシグネチャ(name + arguments)も埋め込みます。 文書の文字列(メソッドのシグネチャを除く)のみを埋め込むにはどうすればよいですか?show * only * docstring in Sphinx documentation

REF:私はあなたが探しているものだと思いhttp://sphinx.pocoo.org/ext/autodoc.html

答えて

17

がある:the current sourcesこのあたり

from sphinx.ext import autodoc 

class DocsonlyMethodDocumenter(autodoc.MethodDocumenter): 
    def format_args(self): 
    return None 

autodoc.add_documenter(DocsonlyMethodDocumenter) 

は方法を文書化する責任があるどのようなクラスをオーバーライドできるようにすべきである(add_documenterの古いバージョンでは、このようなオーバーライドを禁じ、今は明示的に許可されています)。 format_argsを返すことはもちろんありません。autodocの文書化された方法は、 "署名を気にしないでください"と言います。

これは、このタスクを実行するためのきれいで体系化された方法だと思います。そのため、代替案を選択するのに適しています。 sphinxの古いバージョンを使用する必要がある場合は、実際に特定の展開で実現可能であれば、現在のバージョンにアップグレードすることをお勧めしますが、実際にはmonkeypatch(autodoc.MethodDocumenter.format_args=lambda _:None - eek! - )する必要があります。

+1

+1スフィンクス1.1では、ドキュメントの追加にわずかな構文変更があります。http://stackoverflow.com/questions/7825263/including-docstring-in-sphinx-documentation – geographika