2013-07-10 85 views
2

我想創建一個指向另一個文件中定義的部分的鏈接。如何使用Sphinx創建到外部文件部分的鏈接?

我在「Python-Sphinx: Link to Section in external File」上發現了一個類似的問題,我注意到有一個名爲「intersphinx」的擴展名。 所以我試過這個擴展,但它不起作用(可能我的用法是錯誤的)。

我試過以下。

conf.py

extensions = ['sphinx.ext.todo', 'sphinx.ext.intersphinx'] 
... 
intersphinx_mapping = {'myproject': ('../build/html', None)} 

foo.rst

... 
**************** 
Install Bar 
**************** 
Please refer :ref:`Bar Installation Instruction<myproject:bar_installation>` 

我想創建像 '酒吧安裝說明' 上面標記的鏈接。

bar.rst

... 
************************** 
Installation Instruction 
************************** 
.. _bar_installation: 

some text... 

當我運行make html,我得到以下警告,而不是創建的鏈接。

foo.rst: WARNING: undefined label: myproject:bar_installation (if the link has no caption the label must precede a section header) 

在此先感謝。

回答

0

看起來它無法找到您的映射庫存文件。元組的第一部分充當鏈接的基本URL,而第二部分是清單文件的路徑。我相信清單文件的自動下載(當您通過None時)僅適用於URI而不適用於文件路徑。

在這個例子中,我可以在本地建立的文件,但它會鏈接到http://example.com/docs/bar.html

'myproject': (
    'http://example.com/docs/', 
    '../html/objects.inv' 
)