自动锁定您的代码¶
Sphinx AutoDoc扩展(请参见 http://www.sphinx-doc.org/en/stable/ext/autodoc.html )在sphinx构建时,将python代码中的docstring转换为最终的文档格式。
这是非常有用的,但可能不会开箱即用。以下是正确设置的一些步骤:
告诉AutoDoc如何查找代码¶
没有一点帮助,AutoDoc可能找不到您的代码。编辑docs/source/conf.py文件。取消注释:
import os
import sys
取消注释并编辑此行(根据需要调整路径):
sys.path.insert(0, os.path.abspath('../../<PROJECT_NAME>'))
一次性创建RST文件¶
有一个脚本,您可以运行它为每个Python模块创建一个指令文件。只应运行此命令一次以设置 * .rst文件。
在docs目录中,运行此命令创建记录python模块的RST文件(注意-f选项告诉它覆盖现有文件):
sphinx-apidoc -f -o source/ ../<PROJECT_NAME>/
您应该看到在docs/source/folder中创建的RST文件
AutoDoc指令¶
docs/source中python模块的restructuredtext文件不包含docstring。相反,它们只包含关于如何构建相应页面的指令。
它们包含重构的dtext,其中包含从项目中的特定python模块构建文档的指令。例子:
example_module module
=====================
.. automodule:: example_module
:members:
:undoc-members:
:show-inheritance:
此项目中的示例,显示带有结果HTML的源RST和Python:
- 重构文本:
- Python :
- 自动生成的HTML:
以下是您可能希望添加的一些附加指令,包括:
包括私人成员,即以下划线开头的成员
:private-members:
包括特殊成员,即以两个下划线开头和结尾的成员,例如 __init__
:special-members:
使用这些额外指令的示例:
- 重构文本:
- Python :
- 自动生成的HTML:
记录您的代码¶
虽然可以在python代码的docstrings中使用restructuredtext,但作者更喜欢使用纯文本。纯文本文档字符串仍然可以用autodoc生成伟大的HTML页面。最终,这是你的选择。