Tôi hiện đang ghi lại một API còn lại được viết bằng Python. Tất cả tài liệu của dự án được tạo ra bằng cách sử dụng Sphinx, và cho REST API tôi muốn tạo ra một số chỉ thị đặc biệt. Ví dụ: giả sử tôi có tài nguyên này được xác định:Cách tạo chỉ thị tùy chỉnh trong Sphinx
@resource("/user/<email>", method="GET")
def user_details (email):
""" Returns detailed information about a user account.
:resource GET: /user/<email>
:query_param a_param: Some kind of query param.
"""
# Do stuff and return user details
Về cơ bản, tài liệu đó trông như thế nào. Tôi muốn có thể tạo ra một chỉ thị cho Sphinx định dạng một hoặc nhiều trong số :query_param ...:
giống như nó với :param:
thông thường.
Tôi đã tìm thấy cách tạo vai trò, nhưng chúng chỉ hoạt động nội tuyến chứ không phải cho các khối dữ liệu.
Làm thế nào tôi nên thực hiện việc này?
Bạn có thể muốn hỏi này trên [Google Group Sphinx] (https://groups.google.com/forum/?fromgroups#!forum/sphinx-dev). Ai đó có thể có nhiều khả năng trả lời câu hỏi hơn. Off-hand, tôi không chắc chắn cách xử lý các khối tài liệu. Bạn chắc chắn có thể [tạo phần mở rộng trong Sphinx/docutils] (http://sphinx.pocoo.org/extensions.html), nhưng tôi không chắc chắn cách phân tích cú pháp docstring phù hợp với mô hình Sphinx/docutils. – jszakmeister
Câu trả lời có thể liên quan đến việc sử dụng [GroupedField] (https://bitbucket.org/birkenfeld/sphinx/src/1f3a2749df39/sphinx/util/docfields.py#cl-74) trong phần mở rộng của bạn. – jszakmeister