2012-03-19 24 views
11

Tôi có một số mô đun python chứa hầu hết các chức năng và một vài lớp. Mỗi cái được ghi lại bằng cách sử dụng sphinx-autodoc trong một rst riêng biệt. Những gì tôi muốn làm là để tạo ra một bảng hoặc danh sách các nội dung của mô-đun ở phía trên cùng của mỗi trang, ví dụ như vậy, trong mymodule.py làNhân sư: danh sách các chức năng trong một mô-đun

def first(): 
    'First function' 

def second(): 
    'Second function' 

Và mymodule.rst là

Page Contents 
------------- 

:create_page_contents_list: 

Members 
------- 

.. automodule:: mymodule 
    :members: 

Sau đó, đầu ra sẽ trông giống như sau:

Page Contents 
------------- 

first 
second 

Members 
------- 

first() 
    First function 

second() 
    Second function 

Câu hỏi cách làm :create_page_contents_list:. Tôi đã xem xét sử dụng một TOC, nhưng có vẻ như tôi sẽ cần phải tự tạo một mục cho mỗi mục. Tôi cũng đã xem xét tóm tắt tự động, nhưng tôi vẫn cần phải liệt kê các thành viên. Bất kỳ đề xuất để tự động hóa điều này? Tôi muốn tránh các phần mở rộng của bên thứ ba.

Trả lời

1

Bạn có thể muốn một cái gì đó như số autosummary extension. Tuy nhiên, phần mở rộng autosummary thực tế sẽ không hoàn toàn làm những gì bạn muốn.

Một ví dụ về cách bạn có thể mở rộng autosummary để tự động phát hiện các nội dung của module được đưa ra in this answer

+11

bạn có thể cung cấp một ví dụ về việc sử dụng nó trong trường hợp này? –

+0

Hiện tại liên kết đó dường như bị hỏng. Một cái gì đó về một vòng lặp chuyển hướng. –

+2

Tiện ích này giải quyết vấn đề như thế nào? Sử dụng 'autosummary' bạn vẫn phải chỉ định thủ công mọi hàm/phương thức/thuộc tính đơn trong một danh sách. Tùy chọn ': members:' cho các mô-đun, như 'autodoc' có, không có sẵn. Các giải pháp duy nhất tôi tìm thấy để tự động làm điều này được dựa trên javascript. Nó thực sự làm phiền tôi rằng hầu hết các tài liệu Python không có một bảng tổng quan ngắn gọn trên tất cả các thành viên mô-đun (liếc nhìn bạn _matplotlib_). – w1th0utnam3

Các vấn đề liên quan