Tôi đang sử dụng Sphinx để tạo tài liệu cho dự án của tôi.Cách sử dụng Python để lập trình tạo một phần tài liệu Sphinx
Trong dự án này, tôi mô tả một danh sách các lệnh có sẵn trong một tập tin yaml đó, một lần nạp, kết quả trong một từ điển trong các hình thức {command-name : command-description}
ví dụ:
commands = {"copy" : "Copy the highlighted text in the clipboard",
"paste" : "Paste the clipboard text to cursor location",
...}
Những gì tôi muốn biết, là nếu có phương pháp nhân sư tải tệp yaml trong chu kỳ make html
, dịch từ điển python ở một số định dạng reStructuredText (ví dụ: definition list) và bao gồm trong đầu ra html của tôi.
Tôi mong chờ tập tin .rst
của tôi trông giống như:
Available commands
==================
The commands available in bla-bla-bla...
.. magic-directive-that-execute-python-code::
:maybe python code or name of python file here:
và được chuyển đổi trong nội bộ để:
Available commands
==================
The commands available in bla-bla-bla...
copy
Copy the highlighted text in the clipboard
paste
Paste the clipboard text to cursor location
trước khi được dịch sang HTML.
Đây không phải là câu trả lời đúng để tôi đặt câu trả lời đó làm nhận xét. Theo như tôi biết, không có cách nào để phân tích cú pháp một tập tin yaml với nhân sư trực tiếp, nhưng tôi nghĩ bạn có thể làm cho nó bằng cách sử dụng pyyaml và sửa đổi bạn Makefile nhân sư. –
Điểm viết mã YAML là gì? Tại sao không chỉ viết mô tả trong mô-đun Python và sử dụng autodoc của Sphinx? Tại sao làm cho cái gì đó phức tạp hơn * phức tạp hơn http://sphinx.pocoo.org/ext/autodoc.html? –
@ S.Lott - Ý tưởng cơ bản là DNRY: lệnh được định nghĩa (và có thể bị ghi đè bởi người dùng) trong tệp yml. Ví dụ trên được đơn giản hóa để làm cho câu hỏi dễ hiểu hơn, nhưng tệp yml thực sự chứa thông tin bổ sung cho trình phân tích cú pháp như số tham số, cờ có thể, gọi lại xác thực, v.v ... Nó đơn giản có vẻ ngu ngốc (và nguồn lỗi tiềm ẩn trong tài liệu) để lặp lại cùng một thông tin trong tệp yml và chuỗi docstring. – mac