4.1. Sphinx中角色和指令语法#
directive说明:http://docutils.sourceforge.net/docs/ref/rst/directives.html
role说明:http://docutils.sourceforge.net/docs/ref/rst/roles.html
rst使用directive和role进行特殊操作。
4.1.1. 角色#
注解
Sphin中,角色的说明为: Sphinx uses interpreted text roles to insert semantic markup into documents.
role的格式为:
:role名: 内容
角色包括:
交叉引用:
:any:,:doc:,:download:,:envvar:,:keyword:,:numref:,:option:,:ref:,:term:,:token:。行内高亮:
:code:。数学表达:
:math:,:eq:。其他语义角色:
:abbr:,:command:,:dfn:,:file:,:guilabel:,:kbd:,:mailheader:,:makevar:,:manpage:,:menuselection:,:mimetype:,:newsgroup:,:program:,:regexp:,:samp:,:pep:,:rfc:。
Sphinx中的点位符也是角色,但使用的语法相对特殊,包括:
|release| ,
|version| ,
|today| ,
|translation progress| 。
4.1.2. 指令#
指令(Directives)是reStructureText的扩展机制。 可以在不增加新语法的情况下,增加新的结构性支持(a way of adding support for new constructs)。
指令由三部分组成,格式为:
.. directive-type:: directive-block
:参数:
:参数:
其中指令类型(directive-type)指明指令的类型,指令内容体又由三部分组成
指令作用对象Directive arguments:指明该指令针对哪个对象作用
指令选项参数Directive options:该指令的可选参数(可选),是一个参数列表
指令内容说明Directive content:说明文档(可选)
比如插入一个图片
.. figure:: 图片名.png # 这里是指令作用对象
:scale: 50 # 这里是指令参数
:width: 100
这是一个图片 # 这里是说明
已在 reference reStructuredText parser 中实现的指令。
通用指令选项参数
:class: |
得到 |
:name: |
为指令设置名称(可用于简化别名链接) |
.. image:: build.png
:name: my pic
与下列方式等价
.. _my pic
.. image:: build.png
Sphinx支持的指令:
目录:
.. toctree::,段落级别标识,如 Admonitions, messages, and warnings, 包括:
.. attention::,.. caution::,.. danger::,.. error::,.. hint::,.. important::,.. note::,.. tip::,.. warning::,.. admonition:: title,.. seealso::。版本变动指令:
.. versionadded:: version [brief explanation],.. versionchanged:: version [brief explanation],.. deprecated:: version [brief explanation],.. versionremoved:: version [brief explanation]。呈现方式(Presentational):
.. rubric:: title,.. centered:,.. hlist::。代码高亮指令:
.. highlight:: language,.. code-block:: [language],.. sourcecode:: [language],.. code:: [language],.. literalinclude:: filename。词汇表:
.. glossary::。元信息标识 (Meta-information markup):
.. sectionauthor:: name <email>,.. codeauthor:: name <email>。索引生成标识 :
.. index:: <entries>, 这个得配合使用:index:。基于标签的内容包含指令:
.. only:: <expression>。 This directive is designed to control only content of document. It could not control sections, labels and so on.表格指令:
数学指令 :
还有一类也属于指令,但语法不一样。
在Sphnx中用作特殊文档: genindex , modindex , search , 以及以 _ 开头的名称。
Sphinx 使用这些保留名称用以特殊作用,创建文件时不要使用这些名称。
4.1.3. 元信息标记#
.. sectionauthor:: name <email>
标识当前部分的作者。该论点应包括作者的姓名, 以便它可用于演示文稿和电子邮件地址。地址的域名部分应为小写。例:
.. sectionauthor:: Guido van Rossum <guido@python.org>
默认情况下, 此标记不会以任何方式反映在输出中(它有助于跟踪贡献), 但您可以将配置值 show_authors 设置为 True 以使它们生成一个段落输出。
.. codeauthor:: name <email>
codeauthor 指令, 可以多次出现, 命名所描述代码的作者, 就像 sectionauthor 命名一篇文档的作者。 如果 show_authors 配置值为 True , 它也只产生输出。