sphinx.ext.linkcode
-- ソースコードへの外部リンクを追加¶
モジュールの作者: Pauli Virtanen
Added in version 1.2.
この拡張はオブジェクトの説明( .. class::
や .. function::
など)を見て、web上にホストされているコードへの外部リンクを追加します。この意図は sphinx.ext.viewcode
拡張と似ていますが、インターネット上のどこかにソースコードがあることを前提としています。
設定ファイルでそのオブジェクトのURLベースを返す linkcode_resolve
関数を指定する必要があります。
設定¶
- 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