外掛程式發佈元資料協議
當您開發了一個小樹壁紙 Next 外掛程式後,可以透過編寫一個外掛程式元資料檔案來發佈您的外掛程式。外掛程式元資料採用 TOML 格式,包含外掛程式的基本資訊和下載連結,供小樹壁紙 Next 客戶端讀取和展示。
1. 檔案結構
每個外掛程式元資料為一個 .toml 檔案。
identifier = "example_plugin"
name = "範例外掛程式"
description = "這是一個範例外掛程式"
long_description = """
這是詳細描述,支援多行文字。
可包含功能介紹、使用說明等。
"""
logo = "https://example.com/logo.png"
repository = "https://github.com/user/example-plugin"
python_url = "https://raw.githubusercontent.com/user/example-plugin/main/plugin.py"2. 欄位說明
| 欄位 | 必填 | 類型 | 說明 |
|---|---|---|---|
identifier | ✅ | string | 外掛程式唯一 ID(小寫字母、數字、底線,3–32 字元) |
name | ✅ | string | 外掛程式顯示名稱 |
description | ❌ | string | 簡短描述(建議 ≤100 字元) |
long_description | ❌ | string | 詳細描述(支援多行) |
logo | ❌ | string | Logo 位址,支援 HTTPS URL 或 image/...;base64,... |
repository | ❌ | string | GitHub 儲存庫位址(必須為完整 HTTPS URL) |
python_url | ✅ | string | 外掛程式主 Python 檔案的原始連結(如 GitHub raw 連結) |
欄位回退邏輯(客戶端實作):
- 若未提供
long_description:
- 且提供了
repository→ 嘗試從儲存庫的README.md提取首段作為詳細描述(可選實作)- 否則,使用
description(若存在),否則使用name- 若未提供
description:
- 使用
long_description的首句(可選),否則使用name- 若未提供
logo→ 顯示預設外掛程式圖示
3. 範例
完整範例
identifier = "wallpaper_scheduler"
name = "壁紙定時輪換"
description = "按時間自動切換壁紙"
long_description = """
支援每天/每週/自訂時間表切換壁紙,
可配合多個壁紙來源使用。
"""
logo = "https://raw.githubusercontent.com/user/wallpaper-scheduler/main/icon.png"
repository = "https://github.com/user/wallpaper-scheduler"
python_url = "https://raw.githubusercontent.com/user/wallpaper-scheduler/main/plugin.py"最簡範例
identifier = "hello_world"
name = "Hello World"
python_url = "https://raw.githubusercontent.com/user/hello-world/main/plugin.py"此情況下:
description未提供 → 顯示namelong_description未提供且無repository→ 顯示namelogo未提供 → 使用預設圖示