Content Tabs 使用教學
在 Zensical 中,Content Tabs 可以用來在不同標籤內顯示不同內容,適合用於多語言切換、程式碼範例對比等應用。
zensical.toml 設定
[project.markdown_extensions]
pymdownx.superfences = {}
[project.markdown_extensions.pymdownx.tabbed]
alternate_style = true
若希望全站相同名稱的頁簽一起切換,再加上:
基本用法
你可以使用 === "標籤名稱" 來定義標籤:
=== "Python"
```python
print("這是 Python 程式碼")
```
=== "JavaScript"
```javascript
console.log("這是 JavaScript 程式碼");
```
這樣會產生一個標籤頁,讓使用者可以點選切換 Python 和 JavaScript。
在一般內容中使用
除了程式碼,你也可以使用 Markdown 內容:
這是一段說明內容。
- 第一個範例
- 第二個範例
預設開啟某個標籤
預設會顯示 第一個標籤,如果你要讓預設是其他標籤,只要在等號後面加上一個 +。
這是標籤 1 的內容。
這是標籤 2 的內容。
這是標籤 3 的內容。
嵌入提示框
你可以將標籤頁嵌入提示框:
!!! 語言
=== "Python"
```python
print("這是 Python 程式碼")
```
=== "JavaScript"
```javascript
console.log("這是 JavaScript 程式碼");
```
這樣會產生一個 "語言" 提示框,裡面有 Python 和 JavaScript 兩個標籤。
頁簽的錨點連結
每個頁簽都會自動加上錨點連結,可以用右鍵複製連結,或在新分頁開啟,也能在同一頁或其他頁面連到某個特定的頁簽。
預設的錨點可讀性不高。Python Markdown Extensions 支援替頁簽的標題做 slugify,讓連結變得好看好讀,啟用方式:
[project.markdown_extensions]
pymdownx.tabbed.slugify.object = "pymdownx.slugs.slugify"
pymdownx.tabbed.slugify.kwds.case = "lower"
連動的頁簽(Linked content tabs)
前面提到的 content.tabs.link 會讓整個網站的頁簽互相連動:只要讀者點了某個標籤,所有相同標籤名稱的頁簽都會一起切換過去。
- 是依標籤名稱連動,而不是順序,所以同一個容器裡的順序不同也沒關係。
- 與 instant navigation 完整整合,選擇會被記住,換頁後仍然有效。
這對「Windows/macOS」、「pip/uv」這類全站反覆出現的選項特別方便。
總結
- 使用
=== "標籤名稱"建立標籤頁 - 可在標籤內放 Markdown 內容或程式碼
- 使用
==== "子標籤"來建立巢狀結構 - 在
zensical.toml啟用pymdownx.tabbed與content.tabs.link
這樣就可以輕鬆使用 Content Tabs 來整理內容!