プラグインは定義された拡張サーフェスを通じてEmDashを拡張します。コンテンツのライフサイクルイベントに反応し、独自のデータを保存し、管理者に設定を公開し、管理パネルにページを追加し、APIルートを提供できます。
プラグインができること
イベントに反応
コンテンツの保存、メディアのアップロード、コメントのモデレーション、スケジュールされたタスク、プラグインのライフサイクルイベントでコードを実行します。
データを保存
インデックス付きコレクションにプラグイン固有のレコードを永続化し、設定と状態のためのプラグインごとのキーバリューストアも提供します。
管理ページを追加
自動生成された設定フォームとともに、管理パネルにページとダッシュボードウィジェットを提供します。
APIルートを提供
管理UIまたは外部統合のために/_emdash/api/plugins/<id>/<route>の下にエンドポイントを公開します。
外部APIを呼び出し
宣言されたホスト許可リストを使用してHTTPリクエストを実行します。
メールを送信
設定されたプロバイダーを通じてトランザクションメールを送信します。
2種類のプラグイン
EmDashプラグインには2つの形式があります:
- サンドボックスプラグインは、設定可能なサンドボックスランナーによって管理される分離されたランタイムで実行されます。マーケットプレイスからワンクリックでインストールでき、機能とリソースの強制に従い、宣言したAPIにのみ到達します。これはほとんどのプラグインに推奨される選択肢です。
- ネイティブプラグインは、Astroサイトと同じプロセスで実行されます。ランタイムへの完全なアクセス権を持ち、React管理ページとPortable Textレンダリングコンポーネントを提供でき、公開ページにHTMLを注入できます。コード変更とデプロイによってインストールされ、マーケットプレイスではなくnpmから実行されます。
他の人が作成したプラグインをインストールする場合は、ほぼ常にサンドボックスが必要です。自分で構築する場合は、プラグイン形式の選択を参照してください。
サイト運営者向け
サイトにプラグインをインストールまたは設定したい場合:
プラグインのインストール
マーケットプレイスからインストール、有効化、設定の構成。
プラグイン作成者向け
プラグインを構築したい場合: