Sphinx 快速入門範本¶
本文旨在引導那些「想要撰寫文件並將其添加到 LLVM 文件中」的人,幫助他們盡可能快速、輕鬆地開始撰寫文件。
概觀¶
LLVM 文件採用 reStructuredText 撰寫,這是一種類似於 Markdown(但功能更強大)的標記語法。LLVM 文件網站本身使用 Sphinx,這是一個最初為 Python 文件編寫的文件產生器。
如何使用此範本¶
本文位於 docs/SphinxQuickstartTemplate.rst
中。若要將其用作範本,請先複製一份並在文字編輯器中開啟。然後您可以撰寫您的文件,並將新文章發送到 llvm-commits 進行審查。
若要檢視本文的 reStructuredText 原始碼檔案,請按一下右側邊欄上的 **顯示原始碼**。
範例章節¶
一篇文章可以包含一個或多個章節(即標題)。章節(如上方的 範例 章節
)有助於賦予文檔結構。使用與本文檔中使用的相同類型的裝飾(例如 ======
與 ------
)。裝飾的長度必須與其上方的文字相同。對於 Vim 使用者,yypVr=
的變體可能會很方便。
範例巢狀子章節¶
子章節也可以巢狀在其他子章節之下。如需有關章節的詳細資訊,請參閱 Sphinx 的 reStructuredText 入門。
文字格式¶
文字可以是 *強調*、**粗體** 或 等寬
。
若要建立新的段落,只需插入空白行即可。
連結¶
您可以像 這樣 格式化連結。更 複雜的語法 允許您將 .. _`連結 文字`: <URL>
區塊放置在文檔中的幾乎任何其他位置。這在連結到特別長的 URL 時很有用。
清單¶
restructuredText 允許您建立有序清單…
以
#.
開頭的清單將自動編號。這是第二個清單元素。
使用縮排建立巢狀清單。
…以及無序清單
內容。
更深層的內容。
更多內容。
程式碼區塊¶
您可以像這樣建立程式碼區塊
int main() {
return 0;
}
對於 Shell 階段作業,請使用 console
程式碼區塊(某些現有的文檔使用 bash
)
$ echo "Goodbye cruel world!"
$ rm -rf /
如果需要顯示 LLVM IR,請使用 llvm
程式碼區塊。
define i32 @test1() {
entry:
ret i32 0
}
您可能需要的其他一些常見程式碼區塊有 c
、objc
、make
和 cmake
。 如果您需要更多,可以查看完整清單中支援的程式碼區塊。
但是,不要浪費時間調整語法高亮顯示,而忽略了添加有意義的內容。如有疑問,請顯示預先格式化的文字,不使用任何語法高亮顯示,如下所示
.
+:.
..:: ::
.++:+:: ::+:.:.
.:+ :
::.::..:: .+.
..:+ :: :
......+:. ..
:++. .. :
.+:::+:: :
.. . .+ ::
+.: .::+.
...+. .: .
.++:..
...
產生文件¶
如果您想查看 HTML 文件的呈現效果,可以從本地來源產生它們。除了通常的建置工具之外,您還需要在 llvm-project
結帳目錄中使用以下命令安裝 Sphinx 和必要的擴展程式
pip install --user -r ./llvm/docs/requirements.txt
然後執行 cmake 在 llvm-project
結帳目錄中建置文件
mkdir build
cd build
cmake -DLLVM_ENABLE_SPHINX=On ../llvm
cmake --build . --target docs-llvm-html
如果您已經設定好 Cmake 建置,並且想要重複使用,只需設定 CMake 變數 LLVM_ENABLE_SPHINX=On
。
之後,您可以在 build/docs/html
資料夾中找到產生的文件。