用外掛擴充網站建構

外掛就是放在 .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 及參考 HooksSlotsManifestCLI

青苔發佈