# ファイル構造概要

プラグインとは、複数のファイルを含むインストールパッケージであり、ユーザーに直接配布することができます。

<pre><code><strong>Plugin
</strong>├─ manifest.json
├─ logo.png
├─ index.html
└─ js
   └─ plugin.js
</code></pre>

<figure><img src="https://1611209449-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMvbOurypjZWfptd5H280%2Fuploads%2Fgit-blob-4c0b26edd3a41213207a8b086b7d3e328789be3d%2Fimage.png?alt=media" alt=""><figcaption></figcaption></figure>

***

## manifest.json <a href="#zqpdi" id="zqpdi"></a>

これはすべてのプラグインが持っている必要があるファイルです。プラグインの基本情報（プラグイン名、バージョン、実行コードエントリなど）が含まれています。異なるプラグインタイプには異なる設定方法があり、「ウィンドウプラグイン」の基本設定は以下の通りです。

```json
{
    "id": "LB5UL2P0Q9FFF",
    "version": "1.0.0",
    "name": "Hello World",
    "logo": "/logo.png",
    "keywords": ["keywrod1", "keywrod2"],
    "main":
    {
        "devTools": true,
        "url": "index.html",
        "width": 640,
        "height": 480
    }
}
```

* `id` - プラグインID
* `version` - プラグインのバージョン
* `name` - プラグイン名
* `logo` - プラグインの代表的なアイコン
* `keywords` - プラグインのキーワード。プラグイン名以外にも、これらのキーワードを使ってユーザーが素早く検索できます。
* `main` - プラグインウィンドウのプログラムエントリ設定
  * `url` - エントリページ
  * `width` - ウィンドウの幅
  * `height` - ウィンドウの高さ

{% hint style="info" %}
注：この記事にアクセスして、[`manifest.json` のすべての設定方法を調べる](https://developer.eagle.cool/plugin-api/ja-jp/tutorial/manifest)ことができます。
{% endhint %}

{% hint style="info" %}
**完全なサンプルコード：**

<https://github.com/eagle-app/eagle-plugin-examples/tree/main/Window>
{% endhint %}

## logo.png <a href="#pui04" id="pui04"></a>

`manifest.json` 内の `logo` フィールドに対応します。プラグインのアイコンであり、プラグインリストやプラグインセンターで使用されます。128 x 128の解像度を持つ画像を提供してください。アイコンは通常PNG形式であるべきで、PNGは透明度のサポートが最も優れているためです。

***

## index.html <a href="#gmbp0" id="gmbp0"></a>

`manifest.json` 内の `main` フィールドに対応します。これはプラグインプログラムのエントリーファイルであり、プラグインが実行されるときに `index.html` は独立したブラウザウィンドウで読み込まれ、実行されます。
