创建reStructuredText解释的文本角色

Authors

David Goodger

Contact

docutils-develop@lists.sourceforge.net

Date

$Date: 2012-01-03 20:23:53 +0100 (Di, 03. J盲n 2012) $

Revision

$Revision: 7302 $

Copyright

本文档已置于公共领域。

解释的文本角色是reStructuredText中内联标记的扩展机制。本文档旨在使新角色的创建尽可能简单易懂。

标准角色在 reStructuredText Interpreted Text Roles 中描述。有关语法详细信息,请参阅 reStructuredText Markup Specification 中的 Interpreted Text 部分。

定义角色功能

角色函数创建并返回内联元素(节点),并执行所需的任何其他处理。它的签名如下:

def role_fn(name, rawtext, text, lineno, inliner,
            options={}, content=[]):
    code...

# Set function attributes for customization:
role_fn.options = ...
role_fn.content = ...

函数属性如下所述(请参阅 `Specify Role Function Options and Content`_ )。角色功能参数如下:

  • name: 解释角色的本地名称,文档中实际使用的角色名称。

  • rawtext: 包含整个解释文本输入的字符串,包括角色和标记。如果遇到问题,将其作为与系统消息链接的 problematic 节点返回。

  • text: 解释的文本内容。

  • lineno: 解释文本开始的行号。

  • inliner: The ``docutils.parsers.rst.sta