資訊提示框 (Admonitions)
在 Zensical 中,Admonitions 是用來顯示提示框(註解、警告、資訊等)的元件。這些提示框可以用來強調內容,讓讀者更容易理解重點。寫法與 Material for MkDocs 相同。
zensical.toml 設定
基本使用
你可以使用 !!! 來創建 Admonition,格式如下:
其中,type 可以是以下類型:
note(筆記)abstract(摘要)info(資訊)tip(提示)success(成功)question(問題)warning(警告)failure(失敗)danger(危險)bug(錯誤)example(範例)quote(引言)
📌 範例
Note
這是一個 筆記 提示框。
Warning
警告! 這段內容可能會影響系統安全性。
Success
恭喜!你已經完成這個章節的學習。
自訂標題
你可以在 !!! 後面加上標題:
小技巧
這是一個自訂標題的提示框。
內部使用 Markdown
你可以在 Admonition 內使用 Markdown 語法:
格式範例
- 這是一個列表項目
- 這是粗體
- 這是斜體
可摺疊的 Admonitions
如果你想讓 Admonition 預設為摺疊(點擊展開),可以加上 ?:
點擊展開範例
這是一個可以摺疊的提示框。
自訂樣式
你可以透過 CSS 自訂樣式,例如:
然後在 Markdown 內使用:
自訂顏色
這是一個自訂顏色的 Admonition。
移除標題
在類型後面加上空字串 "",就會連圖示與標題都不顯示(不適用於可摺疊的提示框):
這個提示框沒有標題。
巢狀提示框
提示框裡面還可以放提示框,只要內層再多縮排四個空格:
外層
這是外層提示框。
內層
這是內層提示框。
行內提示框(側邊欄)
加上 inline(放左邊)或 inline end(放右邊),提示框就會變成內文旁邊的側邊欄:
側邊小提醒
這個提示框會靠右,和後面的文字並排。
這一段文字會顯示在提示框的左邊。行內提示框必須寫在想並排的內容之前。空間不夠時(例如手機),提示框會拉滿整個寬度。
inline end 在由右到左(rtl)的語言中會靠左,inline 則相反。
更換提示框圖示
每種類型都有專屬的圖示,可以在 zensical.toml 換成任何內建圖示,甚至自訂圖示:
[project.theme.icon.admonition]
note = "octicons/tag-16"
abstract = "octicons/checklist-16"
info = "octicons/info-16"
tip = "octicons/squirrel-16"
success = "octicons/check-16"
question = "octicons/question-16"
warning = "octicons/alert-16"
failure = "octicons/x-circle-16"
danger = "octicons/zap-16"
bug = "octicons/bug-16"
example = "octicons/beaker-16"
quote = "octicons/quote-16"
想用 FontAwesome 圖示的話,把值換成 fontawesome/solid/...,例如 note = "fontawesome/solid/note-sticky"、tip = "fontawesome/solid/bullhorn"。
GitHub Callouts
除了 !!! 語法之外,也可以使用 GitHub 的 callouts(又稱 alerts)。它們是帶有特殊標記的引用區塊,好處是在 GitHub、GitLab 與其他支援的工具裡也能正常顯示。
設定:啟用 Python Markdown Extensions 內建的 Quotes 擴充,並開啟 callouts:
用法:引用符號 > 後面接 [!類型],內容每行都要加 >:
Note
這是 GitHub 風格的 callout。
GitHub 支援五種類型:[!NOTE]、[!TIP]、[!WARNING]、[!IMPORTANT]、[!CAUTION]。前三種直接對應到內建的 note、tip、warning;important 與 caution 不是內建的 admonition 類型,會使用預設樣式,除非你自己加 CSS。
注意
標記必須是全大寫,小寫(例如 [!note])在 GitHub 上不會被辨識。另外,callouts 不屬於 GitHub Flavored Markdown 規格,並非所有 GFM 解析器都支援。
啟用 Quotes 擴充後,也可以使用 Zensical 支援的任何 admonition 類型,不限於這五種。
沿用 mkdocs-callouts 外掛
如果你的 MkDocs 專案用的是 mkdocs-callouts 外掛(Obsidian 風格的 callouts),Zensical 自 0.0.62 起直接支援:外掛條目會自動啟用 pymdownx.quotes 的 callouts: true,但外掛的 aliases、breakless_lists、title_from_first_bold 三個設定會被忽略。
總結
!!! type用來創建提示框!!! type "標題"來自訂標題??? type "標題"讓提示框可摺疊- 可使用 Markdown 內容
- 透過 CSS 自訂樣式
!!! type ""移除標題;inline/inline end做成側邊欄- 用
theme.icon.admonition更換圖示 - 用
pymdownx.quotes的callouts = true支援 GitHub 的> [!NOTE]語法
這樣就能靈活運用 Admonitions 讓你的 Zensical 文件更具可讀性!