# manifest.json 完整設定

每個插件都必須包含一個 `manifest.json` 檔案。這個檔案定義了插件執行方式及插件的基本資訊，例如插件的名稱、版本號和執行程式碼的入口點。

以下是 `manifest.json` 檔案支援的所有欄位：

```json
{
    "id": "LBCZE8V6LPCKD",
    "version": "1.0.0",
    "platform": "all",
    "arch": "all",
    "name": "視窗插件",
    "logo": "/logo.png",
    "keywords": [],
    "devTools": false,
    "main":
    {
        "url": "index.html",
        "width": 640,
        "height": 480,
        "minWidth": 640,
        "minHeight": 480,
        "maxWidth": 640,
        "maxHeight": 480,
        "alwaysOnTop": false,
        "frame": true,
        "fullscreenable": true,
        "maximizable": true,
        "minimizable": true,
        "resizable": true,
        "backgroundColor": "#ffffff",
        "childWindow": false,
        "followCursor": false,
        "multiple": false,
        "runAfterInstall": false
    }
}
```

## 欄位説明：

* `id` - 插件 ID
* `version` - 插件版本
* `platform` - 支援平台
  * `all` - 所有平台
  * `mac` - mac 系統
  * `win` - Windows 系統
* `arch` - CPU 架構
  * `all` - 所有架構
  * `arm` - 僅支援 arm 架構
  * `x64` - 僅支援 x64 架構
* `name` - 插件名
* `logo` - 插件代表圖示（僅支援 `png`, `jpg`, `webp` 格式）
* `keywords` - 插件關鍵字，除了插件名外使用者還可以使用這些關鍵字快速搜尋到這個插件
* `devTools` - 是否開啓開發除錯視窗
* `main` - 插件視窗程式入口設定
  * `url` - 入口頁面
  * `width` - 視窗寬度
  * `height` - 視窗高度
  * `minWidth` - 視窗最小寬度
  * `minHeight` - 視窗最小高度
  * `maxWidth` - 視窗最大寬度
  * `maxHeight` - 視窗最大高度
  * `alwaysOnTop` - 視窗是否永遠在別的視窗的上面， 預設值為 `false`。
  * `frame` - 預設值為 `true`，當為 `false` 時，將使用[無邊框視窗](https://developer.eagle.cool/plugin-api/zh-tw/tutorial/frameless-window)，這是一種特殊的視窗模式，它不帶有外殼（包括視窗邊框、標題欄、工具欄等），只含有網頁內容。
  * `fullscreenable` - 視窗是否可以進入全屏狀態，預設值為 `true`。
  * `maximizable` - 視窗是否最大化，預設值為 `true`。
  * `minimizable` - 視窗是否可最小化，預設值為 `true`。
  * `resizable` - 視窗大小是否可調整，預設值為 `true`。
  * `backgroundColor` - 視窗背景色，預設值為`#FFF`。
  * `childWindow` - 是否以子視窗形式開啟（附屬於主視窗），預設值為 `false`。
  * `followCursor` - 開啟時視窗自動定位在游標附近，適合需要快速互動的工具型插件，預設值為 `false`。需要 Eagle 4.0 Build22 以上版本。
  * `multiple` - 視窗是否可以多開，預設為 `false`。
  * `runAfterInstall` - 安裝後自動開啟，預設為 `false`。
