Sphinx 的敘述式文件

跨多頁面組織您的文件

sphinx-quickstart 建立的 index.rst 檔案是根文件,其主要功能是作為歡迎頁面,並包含「目錄樹」(或 toctree)的根。Sphinx 允許您從不同的檔案組裝專案,這在專案成長時很有幫助。

舉例來說,建立一個新的檔案 docs/source/usage.rst(在 index.rst 旁邊),內容如下

docs/source/usage.rst
Usage
=====

Installation
------------

To use Lumache, first install it using pip:

.. code-block:: console

   (.venv) $ pip install lumache

這個新檔案包含兩個 章節 標題、一般的段落文字,以及一個 code-block 指令,它將內容區塊呈現為原始碼,並具有適當的語法高亮度顯示(在本例中為通用的 console 文字)。

文件的結構是由標題樣式的順序決定的,這表示,透過在「Usage」章節的 === 之後使用 --- 作為「Installation」章節,您已宣告「Installation」是「Usage」的子章節

為了完成這個過程,在 index.rst 的結尾新增一個 toctree 指令,包含您剛建立的文件,如下所示

docs/source/index.rst
Contents
--------

.. toctree::

   usage

這個步驟將該文件插入 toctree 的根目錄,所以現在它屬於您的專案結構,到目前為止看起來像這樣

index
└── usage

如果您執行 make html 建置 HTML 文件,您將看到 toctree 被呈現為超連結列表,這讓您可以導覽到您剛建立的新頁面。很棒吧!

警告

toctree 之外的文件將導致建置過程中出現 WARNING: document isn't included in any toctree 訊息,並且使用者無法存取。

新增交叉參照

Sphinx 的一個強大功能是能夠無縫地新增交叉參照到文件的特定部分:文件、章節、圖形、程式碼物件等等。本教學充滿了這些參照!

若要新增交叉參照,請在 index.rst 中的介紹段落之後寫下這句話

docs/source/index.rst
Check out the :doc:`usage` section for further information.

您使用的 doc 角色 會自動參照專案中的特定文件,在本例中是您稍早建立的 usage.rst

或者,您也可以新增交叉參照到專案的任意部分。為此,您需要使用 ref 角色,並新增一個明確的標籤,作為目標

例如,若要參照「Installation」子章節,請在標題之前新增一個標籤,如下所示

docs/source/usage.rst
Usage
=====

.. _installation:

Installation
------------

...

並使您在 index.rst 中新增的句子看起來像這樣

docs/source/index.rst
Check out the :doc:`usage` section for further information, including how to
:ref:`install <installation>` the project.

請注意這裡的一個技巧:install 部分指定了連結的外觀(我們希望它是一個特定的詞,這樣句子才有意義),而 <installation> 部分則是指我們想要新增交叉參照的實際標籤。如果您不包含明確的標題,因此使用 :ref:`installation`,則會使用章節標題(在本例中為 Installation)。:doc::ref: 角色都將在 HTML 文件中呈現為超連結。

那關於在 Sphinx 中文件化程式碼物件呢?繼續閱讀!