Sphinx文档工具中的标准域(Standard Domain)详解
sphinx The Sphinx documentation generator 项目地址: https://gitcode.com/gh_mirrors/sp/sphinx
什么是标准域
在Sphinx文档工具中,"标准域"(Standard Domain)是一个特殊的域,它收集了那些不需要专属域的所有标记元素。标准域中的指令和角色不需要添加域名前缀,这使得它们可以直接使用。
标准域的一个重要特点是,当开发者使用add_object_type
API添加自定义对象描述时,这些描述会被自动放置在标准域中。
命令行程序文档指令
标准域提供了一组专门用于描述命令行程序的指令:
option指令
.. option::
指令用于描述命令行参数或开关选项。使用这个指令时,参数名称应该用尖括号包裹。
示例:
.. option:: dest_dir
目标目录。
.. option:: -m <module>, --module <module>
将模块作为脚本运行。
这个指令会为给定的选项创建交叉引用目标,可以通过:option:
角色引用。例如:option:
dest_dir、`:option:`-m
或:option:
--module``。
从5.3版本开始,支持在交叉引用中包含选项值,如:option:
--module=foobar、`:option:`--module[=foobar]
或:option:
--module foobar``。
cmdoption
指令是option
指令的已弃用别名。
confval指令
.. confval::
指令用于描述代码或程序使用或定义的配置值或设置。
它支持两个可选参数:
:type:
:描述配置值的类型,会被解释为reStructuredText:default:
:描述配置值的默认值,会被解释为reStructuredText
示例:
.. confval:: the_answer
:type: ``int`` (一个*数字*)
:default: **42**
这是一个控制答案值的设置。
envvar指令
.. envvar::
指令用于描述代码或程序使用或定义的环境变量。
program指令
.. program::
指令类似于Python域中的currentmodule
指令,它本身不产生输出,而是通知Sphinx后续的option
指令是为指定程序文档化的选项。
使用program
指令时,需要在:option:
角色中限定程序名称。例如:
.. program:: rm
.. option:: -r
递归操作。
.. program:: svn
.. option:: -r <revision>
指定要操作的修订版本。
在这种情况下,:option:
rm -r引用第一个选项,而`:option:`svn -r
引用第二个选项。
如果将None
传递给参数,指令将重置当前程序名称。程序名称可以包含空格(例如你想分别记录svn add
和svn commit
子命令)。
通用对象描述指令
标准域还提供了一个非常通用的对象描述指令,不与任何特定域绑定:
describe/object指令
.. describe::
或 .. object::
指令产生与特定域提供的指令相同的格式,但不创建索引条目或交叉引用目标。
示例:
.. describe:: PAPER
你可以设置这个变量来选择纸张大小。
总结
Sphinx的标准域提供了一组强大的工具,特别适合文档化命令行程序和配置选项。通过合理使用这些指令,可以创建结构清晰、易于维护的技术文档。对于需要文档化复杂命令行工具的项目,标准域的这些特性尤其有价值。
sphinx The Sphinx documentation generator 项目地址: https://gitcode.com/gh_mirrors/sp/sphinx
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考