플러그인은 정의된 확장 인터페이스를 통해 EmDash를 확장합니다. 콘텐츠 수명 주기 이벤트에 반응하고, 자체 데이터를 저장하며, 관리자에게 설정을 노출하고, 관리 패널에 페이지를 추가하며, API 라우트를 제공할 수 있습니다.
플러그인이 할 수 있는 것
이벤트에 반응
콘텐츠 저장, 미디어 업로드, 댓글 조정, 예약된 작업 및 플러그인 수명 주기 이벤트에서 코드를 실행합니다.
데이터 저장
인덱싱된 컬렉션에 플러그인별 레코드를 유지하고, 설정 및 상태를 위한 플러그인별 키-값 스토어도 제공합니다.
관리 페이지 추가
자동 생성된 설정 양식과 함께 관리 패널에 페이지와 대시보드 위젯을 제공합니다.
API 라우트 제공
관리 UI 또는 외부 통합을 위해 /_emdash/api/plugins/<id>/<route> 아래에 엔드포인트를 노출합니다.
외부 API 호출
선언된 호스트 허용 목록으로 HTTP 요청을 수행합니다.
이메일 전송
구성된 제공업체를 통해 트랜잭션 이메일을 전송합니다.
두 가지 종류의 플러그인
EmDash 플러그인은 두 가지 형식으로 제공됩니다:
- 샌드박스 플러그인은 구성 가능한 샌드박스 러너가 관리하는 격리된 런타임에서 실행됩니다. 마켓플레이스에서 원클릭으로 설치할 수 있으며, 기능 및 리소스 적용 대상이며, 선언한 API에만 도달합니다. 이것은 대부분의 플러그인에 권장되는 선택입니다.
- 네이티브 플러그인은 Astro 사이트와 동일한 프로세스에서 실행됩니다. 런타임에 대한 전체 액세스 권한이 있으며, React 관리 페이지 및 Portable Text 렌더링 컴포넌트를 제공할 수 있고, 공개 페이지에 HTML을 삽입할 수 있습니다. 코드 변경과 배포를 통해 설치되며, 마켓플레이스가 아닌 npm에서 실행됩니다.
다른 사람이 만든 플러그인을 설치하는 경우 거의 항상 샌드박스를 원할 것입니다. 직접 구축하는 경우 플러그인 형식 선택을 참조하세요.
사이트 운영자를 위해
사이트에 플러그인을 설치하거나 구성하려면:
플러그인 설치
마켓플레이스에서 설치, 활성화, 설정 구성.
플러그인 작성자를 위해
플러그인을 구축하려면: