sphinx.ext.linkcode – Ajouter des liens externes au code source

Auteur du module : Pauli Virtanen

Added in version 1.2.

Cette extension examine les descriptions de vos objets (... classe::, ... fonction:: etc.) et ajoute des liens externes au code hébergé quelque part sur le web. L’intention est similaire à celle de l’extension sphinx.ext.viewcode, mais suppose que le code source peut être trouvé quelque part sur Internet.

Dans votre configuration, vous devez spécifier une fonction linkcode_resolve qui retourne une URL basée sur l’objet.

Configuration

linkcode_resolve

C’est une fonction linkcode_resolve(domain, info), qui devrait renvoyer l’URL vers le code source correspondant à l’objet dans un domaine donné avec des informations données.

La fonction doit retourner None` si aucun lien n’est à ajouter.

L’argument domain spécifie le domaine de langue dans lequel se trouve l’objet. info` est un dictionnaire avec les clés suivantes garanties pour être présentes (selon le domaine) :

  • py : module (nom du module), fullname (nom de l’objet)

  • c : names (liste des noms pour l’objet)

  • cpp : names (liste des noms pour l’objet)

  • javascript`` : ``object``(nom de l’objet), ``fullname``(nom de l’élément)

Exemple:

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