用外掛擴充網站建構
外掛就是放在 .moss/plugins/{名稱}/ 裡的一個 JavaScript 套件。青苔會自動發現它,讀取它的清單,在每次建構的適當階段呼叫它宣告的鉤子。
.moss/plugins/my-plugin/
├── manifest.json ← 描述外掛的能力與設定
├── main.bundle.js ← 外掛程式碼
└── icon.svg
鉤子
外掛透過鉤子接入編譯流程的各個階段:轉換內容、往範本裡注入內容、部署、向外分發。清單裡宣告用到哪些鉤子,青苔就在對應階段回呼你的程式碼。
{
"name": "my-plugin",
"hooks": ["transform"]
}
插槽
插槽是範本裡預留的位置(頁首、頁尾、側欄等)。外掛可以往插槽注入 HTML,從而在不改主題的情況下給頁面加入自訂元素。
moss-api
外掛執行時可以呼叫 moss-api 讀取網站內容、存取設定、登記部署渠道。它是外掛與青苔之間的介面。
深入了解
最小可用外掛、完整的鉤子列表、插槽、清單格式和 CLI,見英文文件 Write a plugin 及參考 Hooks、Slots、Manifest、CLI。