擴充功能

由於許多專案的文件會需要特殊功能,Sphinx 允許為建置過程新增「擴充功能」,每個擴充功能幾乎可以修改文件處理的任何方面。

本章節描述與 Sphinx 捆綁的擴充功能。關於編寫你自己的擴充功能的 API 文件,請參閱Sphinx API

內建擴充功能

這些擴充功能是內建的,可以透過在 extensions 設定值中加入對應的條目來啟用

第三方擴充功能

你可以在 sphinx-contrib 組織中找到許多使用者貢獻的擴充功能。如果你希望將你的擴充功能包含在這個組織中,只需按照 github-administration 專案中提供的指示操作即可。這是可選的,並且還有一些擴充功能託管在其他地方。awesome-sphinxdocsphinx-extensions 專案都是 Sphinx 套件的精選列表,並且許多套件使用 Framework :: Sphinx :: ExtensionFramework :: Sphinx :: Theme trove 分類器,分別用於 Sphinx 擴充功能和主題。

你的自訂擴充功能應放在哪裡?

專案本機的擴充功能應放在專案的目錄結構中。相應地設定 Python 的模組搜尋路徑 sys.path,以便 Sphinx 可以找到它們。例如,如果你的擴充功能 foo.py 位於專案根目錄的 exts 子目錄中,請放入 conf.py

import sys
from pathlib import Path

sys.path.append(str(Path('exts').resolve()))

extensions = ['foo']

你也可以將擴充功能安裝在 sys.path 上的任何其他位置,例如在 site-packages 目錄中。