在狮身人面像,我可以注册了一堆,应始终被翻译成链接的关键字?

StackOverflow https://stackoverflow.com/questions/2472364

  •  20-09-2019
  •  | 
  •  

我的文档字符串有,我已经定义的其他蟒蛇类的引用。每次遇到狮身人面像这些类中的一个,我想它插入一个链接到文档的其他类。这可能在斯芬克斯?

具体地讲,我有一个文档字符串等:

'''This class contains a bunch of Foo objects'''

可以写:

'''This class contains a bunch of :class:`~foo.Foo` objects'''

但我宁愿狮身人面像找到所有文字匹配Foo并使它看起来好像我输入了     类别:~foo.Foo

有帮助吗?

解决方案

您可以使用宏。

在我的项目,我有一个包含所有“重要”类和全局函数及其简称的头文件。两个示例行:

.. |PostItem| replace:: :class:`PostItem <hklib.PostItem>`
.. |PostNotFoundError| replace:: :class:`PostNotFoundError <hklib.PostNotFoundError>`

在我rst文件,包括我这个头文件。然后,我可以使用这些宏中任何rst文件:

.. include:: defs.hrst

|PostItem| is a nice class. |PostNotFoundError|, on the other hand is not.

(可以包括从Python源文件文档字符串为好,使用autogen扩展名。在这些宏也将被替换。)

关于你的例子:我想补充Foo的头文件和写文档字符串是这样的:

'''This class contains a bunch of |Foo| objects'''

其他提示

斯芬克斯具有解释文本角色的巨大数目这一点。

http://sphinx.pocoo.org/markup /inline.html#cross-referencing-python-objects

  

我要进入Foo和狮身人面像有它解释为,虽然我曾写过:类:~foo.Foo

听起来不实际的。现在看来似乎会瘫痪RST尝试分析文本。寻找解释的文本和RST支持几个引用规则(*_|`)是关于这就是实际的限制。

你问什么可能导致RST采取一切一天来检查每一个可能的背景和原因,每个实例Foo您是否想要一个链接或没有。你只在Foo的,否则,未经修饰的情况下,希望这样;琐碎的搜索和替换是行不通的。

可以惹文档字符串预处理。

http://sphinx.pocoo.org/ext/autodoc.html #文档字符串-预处理

这可能让你尝试进行全局搜索和替换您的文档字符串文本策略。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top