콘텐츠로 이동

EmDash 소개

EmDash는 Astro 네이티브 콘텐츠 관리 시스템입니다. 익숙한 CMS 패턴—컬렉션, 분류법, 메뉴, 위젯, 그리고 세련된 관리자 UI—을 완전한 TypeScript 지원과 이식 가능한 배포 방식으로 Astro 사이트에 직접 가져옵니다.

EmDash는 Astro를 위해 특별히 제작된 CMS입니다. Astro 6의 Live Content Collections을 사용하여 재빌드 없이 런타임에 콘텐츠를 제공합니다. 콘텐츠는 SQLite 호환 데이터베이스(D1, libSQL, 로컬 SQLite)에 저장되고 미디어는 S3 호환 스토리지(R2, 로컬 파일 시스템)에 저장됩니다.

주요 특징:

  • 데이터베이스 우선 스키마 — 컬렉션과 필드는 코드가 아닌 데이터베이스에 정의됩니다. 관리자 UI에서 콘텐츠 유형을 생성하고 수정하세요.
  • 라이브 컬렉션 — 콘텐츠 변경 사항이 즉시 적용됩니다. 정적 재빌드가 필요하지 않습니다.
  • 플러그인 시스템 — WordPress에서 영감을 받은 훅, 스토리지, 설정 및 관리자 UI 확장 기능.
  • 클라우드 이식성 — Cloudflare(Workers + D1 + R2), Node.js, 로컬 SQLite 및 모든 S3 호환 스토리지에서 실행됩니다.
  • 헤드리스 CMS가 아닙니다 — EmDash는 Astro와 긴밀하게 통합됩니다. API를 통해 호출하는 별도의 서비스가 아닙니다.
  • WordPress 호환성이 아닙니다 — PHP 없음, WordPress 플러그인이 직접 실행되지 않음. 하지만 WordPress 콘텐츠와 개념은 깔끔하게 마이그레이션됩니다.
  • 페이지 빌더가 아닙니다 — EmDash는 구조화된 콘텐츠에 중점을 둡니다. 시각적 페이지 빌딩을 위해서는 Astro 컴포넌트를 사용하세요.

에이전시 개발자

재사용 가능한 플러그인과 테마로 클라이언트 사이트를 빠르게 구축하세요. PHP 보안 업데이트 없음, 플러그인 충돌 없음.

개인 개발자

CMS가 내장된 풀스택 프레임워크. 관리할 별도의 헤드리스 CMS 없음.

콘텐츠 편집자

직관적인 관리자 패널. 코드를 건드리지 않고 콘텐츠를 생성하고 편집하세요.

WordPress 사용자

콘텐츠와 플러그인을 위한 마이그레이션 경로. 현대적인 도구, 익숙한 개념.

┌─────────────────────────────────────────────────────────────┐
│ 내 Astro 사이트 │
│ │
│ ┌───────────────────────────────────────────────────────┐ │
│ │ EmDash 통합 │ │
│ │ │ │
│ │ ┌─────────────┐ ┌─────────────┐ ┌──────────────┐ │ │
│ │ │ 콘텐츠 │ │ 관리자 │ │ 플러그인 │ │ │
│ │ │ 엔진 │ │ 패널 │ │ │ │ │
│ │ └─────────────┘ └─────────────┘ └──────────────┘ │ │
│ │ │ │
│ │ ┌───────────────────────────────────────────────────┐│ │
│ │ │ 데이터 계층 ││ │
│ │ │ SQLite/D1 ←→ Kysely ←→ R2/S3/Local ││ │
│ │ └───────────────────────────────────────────────────┘│ │
│ └───────────────────────────────────────────────────────┘ │
│ │
│ ┌───────────────────────────────────────────────────────┐ │
│ │ Astro 프레임워크 │ │
│ │ Live Collections • Sessions • Middleware │ │
│ └───────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────┘

시작하기 전에, 이러한 핵심 개념을 숙지하세요:

  • 컬렉션 — 데이터베이스에 정의된 콘텐츠 유형(게시물, 페이지, 제품 등)
  • 필드 — 컬렉션의 속성(제목, 내용, 가격 등)
  • 분류법 — 분류 시스템(카테고리, 태그, 사용자 정의 분류법)
  • 메뉴 — 관리자가 편집 가능한 탐색 구조
  • 위젯 영역 — 사이드바와 푸터를 위한 구성 가능한 콘텐츠 영역
  • 플러그인 — 훅, 스토리지 및 UI를 통해 기능을 추가하는 확장 기능