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

模块作者:Pauli Virtanen

添加于版本 1.2。

此扩展查看您的对象描述(.. class::.. function:: 等)并向在网络上某个地方托管的代码添加外部链接。其意图类似于 sphinx.ext.viewcode 扩展,但假定可以在互联网上的某个地方找到源代码。

在您的配置中,您需要指定一个 linkcode_resolve 函数,该函数根据对象返回 URL。

配置

linkcode_resolve

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

如果不需要添加链接,则该函数应该返回 None

参数 domain 指定对象所在的语言域。 info 是一个字典,其中包含以下保证存在的键(取决于域)

  • py: module(模块的名称)、fullname(对象的名称)

  • c: names(对象的名称列表)

  • cpp: names(对象的名称列表)

  • javascript: object(对象的名称)、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