sphinx.ext.graphviz – 新增 Graphviz 圖表

在版本 0.6 中新增。

此擴充功能讓您可以在文件中嵌入 Graphviz 圖表。

它新增了這些指令

.. graphviz::

用於嵌入 graphviz 程式碼的指令。 dot 的輸入程式碼會以內容形式提供。 例如

.. graphviz::

   digraph foo {
      "bar" -> "baz";
   }

在 HTML 輸出中,程式碼會被渲染成 PNG 或 SVG 圖片 (請參閱 graphviz_output_format)。 在 LaTeX 輸出中,程式碼會被渲染成可嵌入的 PDF 檔案。

您也可以嵌入外部 dot 檔案,方法是將檔案名稱作為 graphviz 的引數,而無需其他內容

.. graphviz:: external.dot

如同 Sphinx 中的所有檔案參考,如果檔案名稱是絕對路徑,則會被視為相對於來源目錄。

在版本 1.1 中變更:新增外部檔案的支援。

選項

:alt: 替代文字 (文字)

圖表的替代文字。 預設情況下,圖表程式碼會被用作替代文字。

在版本 1.0 中新增。

:align: 圖表的對齊方式 (左, 右)

圖表的水平對齊方式。

在版本 1.5 中新增。

:caption: 圖表的標題 (文字)

圖表的標題。

在版本 1.1 中新增。

:layout: 圖表的版面配置類型 (文字)

圖表的版面配置 (例如 dot, neato 等等)。 也允許使用 graphviz 命令的路徑。 預設情況下,會使用 graphviz_dot

在版本 1.4 中新增。

在版本 2.2 中變更:graphviz_dot 重新命名

:name: 標籤 (文字)

圖表的標籤。

在版本 1.6 中新增。

:class: 類別名稱 (以空格分隔的類別名稱清單)

圖表的類別名稱。

在版本 2.4 中新增。

.. graph::

用於嵌入單一無向圖的指令。 名稱會以指令引數形式提供,圖表的內容則是指令內容。 這是一個方便的指令,用於產生 graph <name> { <content> }

例如

.. graph:: foo

   "bar" -- "baz";

注意

圖表名稱會原封不動地傳遞至 Graphviz。 如果它包含非英數字元 (例如破折號),您將必須用雙引號括住它。

選項

graphviz 相同。

:alt: 替代文字 (文字)

在版本 1.0 中新增。

:align: 圖表的對齊方式 (左, 右)

在版本 1.5 中新增。

:caption: 圖表的標題 (文字)

在版本 1.1 中新增。

:layout: 圖表的版面配置類型 (文字)

在版本 1.4 中新增。

在版本 2.2 中變更:graphviz_dot 重新命名

:name: 標籤 (文字)

在版本 1.6 中新增。

:class: 類別名稱 (以空格分隔的類別名稱清單)

圖表的類別名稱。

在版本 2.4 中新增。

.. digraph::

用於嵌入單一有向圖的指令。 名稱會以指令引數形式提供,圖表的內容則是指令內容。 這是一個方便的指令,用於產生 digraph <name> { <content> }

例如

.. digraph:: foo

   "bar" -> "baz" -> "quux";

選項

graphviz 相同。

:alt: 替代文字 (文字)

在版本 1.0 中新增。

:align: 圖表的對齊方式 (左, 右)

在版本 1.5 中新增。

:caption: 圖表的標題 (文字)

在版本 1.1 中新增。

:layout: 圖表的版面配置類型 (文字)

在版本 1.4 中新增。

在版本 2.2 中變更:graphviz_dot 重新命名

:name: 標籤 (文字)

在版本 1.6 中新增。

:class: 類別名稱 (以空格分隔的類別名稱清單)

圖表的類別名稱。

在版本 2.4 中新增。

還有這些設定值

graphviz_dot
類型:
str
預設:
'dot'

用於調用 dot 的命令名稱。 如果 dot 不在可執行檔搜尋路徑中,您可能需要將其設定為完整路徑。

由於此設定無法在系統之間移植,因此通常不適合在 conf.py 中設定; 而是應該最好透過 -D 選項,在 sphinx-build 命令列上提供,如下所示

sphinx-build -M html -D graphviz_dot=C:\graphviz\bin\dot.exe . _build
graphviz_dot_args
類型:
Sequence[str]
預設:
()

要提供給 dot 的其他命令列引數,以清單形式呈現。 這是透過 dot 的 -G-N-E 選項設定全域圖表、節點或邊緣屬性的正確位置。

graphviz_output_format
類型:
'png' | 'svg'
預設:
'png'

建置 HTML 檔案時,Graphviz 的輸出格式。 這必須是 'png''svg'。 如果使用 'svg',為了使 URL 連結正常運作,必須設定適當的 target 屬性,例如 "_top""_blank"。 例如,以下圖表中的連結應在 svg 輸出中運作

.. graphviz::

     digraph example {
         a [label="sphinx", href="https://sphinx-doc.dev.org.tw/", target="_top"];
         b [label="other"];
         a -> b;
     }

在版本 1.0 中新增:先前,輸出始終為 PNG。