EmDash 소개

이 페이지

EmDash는 Astro 네이티브 콘텐츠 관리 시스템입니다. 컬렉션, 분류 체계, 메뉴, 위젯, 다듬어진 관리 UI 같은 익숙한 CMS 패턴을 TypeScript 전면 지원과 이식 가능한 배포와 함께 Astro 사이트에 직접 가져옵니다.

EmDash란

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

핵심 특징:

  • 데이터베이스 우선 스키마 — 컬렉션과 필드는 코드가 아니라 데이터베이스에 정의됩니다. 관리 UI에서 콘텐츠 유형을 만들고 수정합니다.
  • Live Collections — 콘텐츠 변경이 즉시 반영됩니다. 정적 재빌드가 필요 없습니다.
  • 플러그인 시스템 — WordPress에서 영감을 받은 훅, 스토리지, 설정, 관리 UI 확장.
  • 클라우드 이식성 — Cloudflare(Workers + D1 + R2), Node.js, 로컬 SQLite, 모든 S3 호환 스토리지에서 실행됩니다.

EmDash가 아닌 것

  • 헤드리스 CMS가 아닙니다 — EmDash는 Astro와 긴밀하게 통합됩니다. API로 호출하는 별도 서비스가 아닙니다.
  • WordPress 호환은 아닙니다 — PHP도 없고 WordPress 플러그인이 직접 실행되지도 않습니다. 다만 WordPress 콘텐츠와 개념은 깔끔하게 이전할 수 있습니다.
  • 페이지 빌더가 아닙니다 — EmDash는 구조화된 콘텐츠에 집중합니다. 시각적 페이지 빌딩에는 Astro 컴포넌트를 사용하세요.

EmDash가 적합한 사람

에이전시 개발자

재사용 가능한 플러그인과 테마로 클라이언트 사이트를 빠르게 구축합니다. PHP 보안 업데이트나 플러그인 충돌이 없습니다.

솔로 개발자

CMS가 내장된 풀스택 프레임워크. 따로 관리할 헤드리스 CMS가 없습니다.

콘텐츠 편집자

직관적인 관리 패널. 코드를 건드리지 않고 콘텐츠를 만들고 편집합니다.

WordPress 사용자

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

아키텍처 한눈에 보기

┌─────────────────────────────────────────────────────────────┐
│                    귀하의 Astro 사이트                       │
│                                                             │
│  ┌───────────────────────────────────────────────────────┐  │
│  │                 EmDash 통합                           │  │
│  │                                                       │  │
│  │  ┌─────────────┐  ┌─────────────┐  ┌──────────────┐   │  │
│  │  │  콘텐츠     │  │   관리      │  │   플러그인   │   │  │
│  │  │  엔진       │  │   패널      │  │              │   │  │
│  │  └─────────────┘  └─────────────┘  └──────────────┘   │  │
│  │                                                       │  │
│  │  ┌───────────────────────────────────────────────────┐│  │
│  │  │                  데이터 계층                      ││  │
│  │  │    SQLite/D1      ←→  Kysely  ←→  R2/S3/로컬      ││  │
│  │  └───────────────────────────────────────────────────┘│  │
│  └───────────────────────────────────────────────────────┘  │
│                                                             │
│  ┌───────────────────────────────────────────────────────┐  │
│  │                   Astro 프레임워크                    │  │
│  │        Live Collections • 세션 • 미들웨어             │  │
│  └───────────────────────────────────────────────────────┘  │
└─────────────────────────────────────────────────────────────┘

핵심 개념

본격적으로 들어가기 전에 다음 개념을 익혀 두세요.

  • Collections — 데이터베이스에 정의된 콘텐츠 유형(글, 페이지, 상품 등)
  • Fields — 컬렉션의 속성(제목, 본문, 가격 등)
  • Taxonomies — 분류 체계(카테고리, 태그, 사용자 정의 분류)
  • Menus — 관리자가 편집하는 탐색 구조
  • Widget Areas — 사이드바와 푸터를 위한 구성 가능한 콘텐츠 영역
  • Plugins — 훅, 스토리지, UI로 기능을 추가하는 확장

다음 단계