12

現在、モジュール全体を .xml で文書化していますautodoc。ただし、長いリストまたは辞書を含むモジュール レベルでいくつかの変数を定義します。これらは値とともにドキュメントに含まれており、値はフォーマットされていないため、10 行の混乱のように見えます。私が望むのは、これらの変数のドキュメント文字列を含めることですが、値を省略するか、少なくとも適切にフォーマットすることです。

automodule変数をディレクティブから除外して、次のように追加しようとしました:

.. automodule:: foo.bar
   :members:
   :exclude-members: longstuff

   .. py:data:: longstuff

これにより、変数名のみが含まれ、docstring と値の両方がlongstuffドキュメントに存在しませんでした。

docstring を保持し、同時に値を削除する (または適切にフォーマットする) にはどうすればよいですか?

4

1 に答える 1

5

出力でモジュール レベル変数の値を省略するための簡単な構成設定はありません。ただし、 autodoc.pyDataDocumenter.add_directive_header()のメソッドを変更することでそれを行うことができます。その方法の重要な行は

self.add_line(u'   :annotation: = ' + objrepr, '<autodoc>')

値はどこobjreprにありますか。

conf.pyに追加された次のモンキー パッチが機能します。

from sphinx.ext.autodoc import ModuleLevelDocumenter, DataDocumenter

def add_directive_header(self, sig):
    ModuleLevelDocumenter.add_directive_header(self, sig)
    # Rest of original method ignored

DataDocumenter.add_directive_header = add_directive_header
于 2012-06-03T12:44:23.223 に答える