2013-02-15 2 views
3

나는 여러 클래스를 가진 모듈을 가지고있다. 현재 ..automodule을 사용하여 모듈을 문서화합니다. 각 클래스에 클래스 이름이 포함 된 자체 헤더 섹션을 갖게하고 싶습니다. 나는 함께 ..automodule foo를 대체하여이를 수 :스핑크스 맞춤 오토 클라스 출력

Bar 
=== 

..autoclass foo.Bar 

Baz 
=== 

..autoclass foo.Baz 

... 

그러나, 수동으로 내가이 작업을 수행 모든 모듈의 모든 클래스를 나열하는 저를 필요로한다. 모듈을 통해 생성 된 콘텐츠를 사용자 정의하는 가장 좋은 방법은 무엇입니까?

답변

2

스핑크스는 소스 코드에서 API 문서를 생성하기 위해 Epydoc 또는 Doxygen처럼 사용하기가 쉽지 않습니다. 그것은 다른 종류의 도구입니다.

스핑크스는 .rst (reStructuredText) 파일에서 작동하며 각 클래스가 클래스 이름과 함께 고유 한 제목을 가지게하려면 표제를 직접 추가하고 .. autoclass::을 사용해야합니다. 그냥 .. automodule::으로 끝낼 수 없습니다. 그렇습니다. 불편합니다 (비슷한 정서는 here으로 표시됩니다). this answerthis answer도 참조하십시오.

문제는 Python 코드를 살펴보고 .rst 출력을 생성하는 스크립트로 완화 할 수 있습니다. 스핑크스에는 이미 스크립트 (sphinx-apidoc)가 있습니다. 그러나 .. autoclass:: 지정 문은 생성하지 않으며 .. automodule:: 만 생성합니다.

다음은 .. autoclass:: : https://github.com/PyMVPA/PyMVPA/blob/master/tools/apigen.py을 출력 할 수있는 또 다른 스크립트입니다. 어쩌면 당신이 그것을 사용할 수 있습니다.