2015-06-13 35 views
3

如何在使用Sphinx的ReST中的任意行設置錨點引用?任意行上的Python Sphinx錨點

更清楚,這裏有一個例子:

A title with an anchor 
---------------------- 

some stuff 

這將創建一個標題A title with an anchor,並添加一個額外的上懸停在該行的末尾角色,這將是一個錨參考該行/標題。

在以下情況下

現在...

``some arbitrary line`` 
    this is actually a definition 

...我想爲some arbitrary line錨,以同樣的方式作爲標題。

+0

與http:// stackoverflow非常相似。 com/q/26003717/407651 – mzjn

+0

是的,完全一樣,但同樣,沒有答案:( – bagrat

回答

6

你可以用一個叫ref作用,做到這一點: http://sphinx-doc.org/markup/inline.html#role-ref

具體讀第二子彈點,這解決了如果引用的是不是一個標題前放置會發生什麼。

例如,在一個名爲example.rst文件,這是你將如何使用:

.. _arbitrary-anchor: 

Some Arbitrary Line 
    This is actually a definition 

標籤「任意錨」經歷是獨一無二的輸出文檔。要在文檔中的某處引用這個錨,你會做這樣的事情:

Lorem ipsum :ref:`here is the anchor link <arbitrary-anchor>` dolor sit amet 

不幸的是,這種定位的不會顯示出來,當你懸停在參考線,但你應該能夠使用訪問它明確鏈接http://example.com/example.html#arbitrary-anchor


既然你提到定義 - 這也是值得注意的是,有一個叫term作用,它可以讓你在詞彙表中引用的定義。

有關如何使用此示例,請參見:http://sphinx-doc.org/glossary.html#term-role

和這是如何的第三段提到: http://sphinx-doc.org/domains.html#domains


最後,如果你需要插入一個錨一個段落的中間,一種方法是通過使用raw role創建明確的<a id=#sample>inline anchor</a>http://docutils.sourceforge.net/docs/ref/rst/roles.html#raw


編輯:

還有一個選項。這將創建一個錨點和懸停效果。

.. rst:role:: Sample rst role 

    This is a sample definition which links back to its anchor :rst:role:`Sample rst role` 

這是一個有趣的指令,我已經使用了一段時間了。我發現,當我看着這個頁面的源代碼:

http://sphinx-doc.org/markup/inline.html#inline-markup

http://sphinx-doc.org/_sources/markup/inline.txt

的文字是這樣的,當你將鼠標懸停: enter image description here

的文字看起來像這點擊鏈接後: enter image description here

該選項不太理想,因爲它將:顯示在定義的左側和右側。但它很好,因爲它創建了一個錨點並將其懸停在不是標題的東西上(所以它不會顯示在TOC中,這正是我想要的)

+0

感謝您的答案。所以錨和懸停效果的唯一方法是原始手冊html? – bagrat

+0

還有一個選項,我只是編輯了我的帖子,看看,讓我們知道這是否適合你 – Subbdue

+0

是的,':'很刺激,但無論如何這是一個解決方案。 – bagrat