EmDash プラグインは 2 つの方法でインストールできます:管理ダッシュボード経由でマーケットプレイスから、または Astro 設定に直接追加します。マーケットプレイスプラグインは分離されたサンドボックスで実行されます;設定ベースのプラグインはインプロセスで実行されます。
マーケットプレイスから
管理ダッシュボードには、プラグインを検索、インストール、管理できるマーケットプレイスブラウザが含まれています。
前提条件
マーケットプレイスプラグインをインストールするには、サイトに以下が必要です:
-
サンドボックスランナーの設定 — マーケットプレイスプラグインは分離された V8 ワーカーで実行されます。これにはサンドボックスランタイムが必要です:
import { emdash } from "emdash/astro"; export default defineConfig({ integrations: [ emdash({ marketplace: "https://marketplace.emdashcms.com", sandboxRunner: true, }), ], }); -
管理アクセス — 管理者のみがプラグインをインストールまたは削除できます。
ブラウズとインストール
- 管理パネルを開き、プラグイン > マーケットプレイスに移動
- プラグインをブラウズまたは検索
- プラグインカードをクリックして詳細ページを表示 — README、スクリーンショット、機能、セキュリティ監査結果
- インストールをクリック
- 機能同意ダイアログを確認 — これはプラグインがアクセスできる内容を示します
- インストールを確認
プラグインはダウンロードされ、サイトの R2 バケットに保存され、サンドボックスランナーに読み込まれます。すぐにアクティブになります。
機能同意
インストール前に、プラグインがアクセスする必要があるものをリストしたダイアログが表示されます:
| 機能 | 意味 |
|---|---|
read:content | コンテンツを読み取る |
write:content | コンテンツを作成、更新、削除 |
read:media | メディアライブラリにアクセス |
write:media | メディアをアップロードと管理 |
network:fetch | 特定のホストへのネットワークリクエスト |
セキュリティ監査
マーケットプレイスのすべてのプラグインバージョンは、自動セキュリティ監査を受けています。監査結果はプラグインカードに表示されます:
- 合格 — 問題なし
- 警告 — 軽微な懸念事項がフラグ付け(結果を確認)
- 不合格 — 重大なセキュリティ問題が検出
プラグインの詳細ページで、個々の発見とその重大度を含む完全な監査レポートを表示できます。
更新
インストール済みプラグインの新しいバージョンが利用可能になったとき:
- 管理パネルのプラグインに移動
- マーケットプレイスプラグインに更新可能バッジが表示されます
- 更新をクリックして変更ログと機能の変更を確認
- 新しいバージョンが追加の機能を必要とする場合、差分が表示され承認が必要です
- 確認して更新
アンインストール
- 管理パネルのプラグインに移動
- 削除したいマーケットプレイスプラグインをクリック
- アンインストールをクリック
- プラグインの保存データを保持するか削除するかを選択
- 確認
プラグインのサンドボックスコードは R2 バケットから削除され、すぐに実行が停止します。
設定から
ネイティブプラグイン(自分のコード、または npm 経由でインストールしたパッケージ)の場合、Astro 設定に直接追加します:
import { defineConfig } from "astro/config";
import { emdash } from "emdash/astro";
import seoPlugin from "@emdash-cms/plugin-seo";
export default defineConfig({
integrations: [
emdash({
plugins: [
seoPlugin({ generateSitemap: true }),
],
}),
],
});
ネイティブプラグイン:
- インプロセスで実行(サンドボックス化されていない)
- Node.js API への完全アクセス
- ビルド時および各サーバー起動時に読み込まれる
- 管理 UI からインストールまたは削除できない
マーケットプレイス vs 設定:どちらを使用するか
| マーケットプレイス(サンドボックス化) | 設定(ネイティブ) | |
|---|---|---|
| インストール方法 | 管理 UI でワンクリック | コード変更 + npm install + デプロイ |
| 実行 | 分離された V8 isolate | インプロセス |
| 機能 | ランタイムで強制 | アドバイザリのみ |
| Node.js API | 利用不可 | フルアクセス |
| React 管理ページ | 不可(代わりに Block Kit) | 可 |
| PT レンダリングコンポーネント | 不可 | 可 |
| 更新 | 管理でワンクリック | バージョンアップ + デプロイ |
| 最適な用途 | ほとんどのプラグイン | ビルド時統合が必要なプラグイン |