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

模块作者:Pauli Virtanen

1.2 新版功能.

这个扩展名查看你的对象描述(class ::.. function :: 等),并在Web上某处托管的代码中添加外部链接。意图类似于 sphinx.ext.viewcode 扩展,但假设源代码可以在Internet上的某处找到。

在您的配置中,您需要指定 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