sphinx.ext.linkcode --向源代码添加外部链接

模块作者: Pauli Virtanen

Added in version 1.2.

此扩展查看对象描述 (.. class::.. function:: 等),并将外部链接添加到Web上某个地方托管的代码。其目的类似于 sphinx.ext.viewcode 扩展,但假定源代码可以在Internet上的某个位置找到。

在配置中,需要指定 linkcode_resolve 基于对象返回URL的函数。

配置

linkcode_resolve

这是一个函数 linkcode_resolve(domain, info) ,它应该将URL返回到与给定域中的对象对应的源代码,并提供给定的信息。

函数应该返回 None 如果不添加链接。

争论 domain 指定对象所在的语言域。 info 是否保证存在具有以下密钥的字典(取决于域):

  • pymodule (模块名称) fullname (对象名称)

  • cnames (对象名称列表)

  • cppnames (对象名称列表)

  • javascriptobject (对象名称) fullname (项目名称)

例子:

def linkcode_resolve(domain, info):
    if domain != 'py':
        return None
    if not info['module']:
        return None
    filename = info['module'].replace('.', '/')
    return "https://somesite/sourcerepo/%s.py" % filename