EmDash 테마는 create-astro 템플릿으로 배포되는 완전한 Astro 프로젝트입니다. 공개 라우트와 컴포넌트, EmDash 런타임 구성, 사이트의 초기 콘텐츠 모델을 위한 선택적 시드 파일이 포함됩니다.
런타임 테마 패키지나 템플릿 계층은 없습니다. 스캐폴딩 후 테마 파일은 사이트에 속하며 직접 편집할 수 있습니다.
테마 내용
현재 EmDash 템플릿은 다음 경로를 사용합니다.
astro.config.mjs
package.json
seed/
└── seed.json
src/
├── components/
├── layouts/
├── live.config.ts
├── pages/
└── styles/
astro.config.mjs는 서버 출력, 배포 어댑터, EmDash, 데이터베이스, 스토리지를 구성합니다.src/live.config.ts는_emdash라이브 컬렉션을 등록합니다.src/pages/는 공개 라우트를 정의합니다.seed/seed.json은 초기 컬렉션, 필드, 설정, 택소노미, 바이라인, 메뉴, 리디렉트, 위젯 영역, 섹션, 샘플 콘텐츠를 선언할 수 있습니다.package.json#emdash.seed는 시드 파일을 가리킵니다.
빈 템플릿은 의도적으로 사용자 시드가 없으며 EmDash의 내장 기본 시드로 폴백합니다. 다른 현재 템플릿은 seed/seed.json을 가리킵니다.
템플릿 설치
다음 명령은 Node 블로그 템플릿을 스캐폴딩합니다.
npm create astro@latest -- --template @emdash-cms/template-blog
Cloudflare Workers 프로젝트에는 해당하는 -cloudflare 패키지를 사용하세요.
npm create astro@latest -- --template @emdash-cms/template-blog-cloudflare
현재 템플릿 패키지에는 다음이 포함됩니다.
| 용도 | Node | Cloudflare |
|---|---|---|
| 빈 프로젝트 셸 | @emdash-cms/template-blank | 현재 대응 없음 |
| 기본 페이지 사이트 | @emdash-cms/template-starter | @emdash-cms/template-starter-cloudflare |
| 게시물, 페이지, 카테고리, 태그, 위젯 | @emdash-cms/template-blog | @emdash-cms/template-blog-cloudflare |
| 프로젝트 포트폴리오 | @emdash-cms/template-portfolio | @emdash-cms/template-portfolio-cloudflare |
| 버전 관리된 블록으로 구성한 마케팅 페이지 | @emdash-cms/template-marketing | @emdash-cms/template-marketing-cloudflare |
스캐폴딩 후 종속성을 설치하고 생성된 사이트를 시작하세요.
cd my-site
npm install
npm run dev
http://localhost:4321/_emdash/admin을 엽니다. 첫 방문은 설정으로 리디렉트되며, 사이트 식별 정보와 관리자 세부 정보를 입력합니다. 선택한 템플릿에 샘플 항목이 있으면 마법사에서 포함하거나 생략할 수 있습니다. 디자인을 평가할 때 라우트가 렌더링할 현실적인 콘텐츠가 있으므로 포함하는 것이 유용합니다.
첫 설정
EmDash는 빌드 시 시드를 읽습니다. 다음 순서로 찾습니다.
.emdash/seed.json.package.json#emdash.seed의 경로.seed/seed.json.- 사용자 시드를 찾지 못했을 때의 내장 기본 시드.
첫 관리자 방문 시 설정 마법사는 시드 메타데이터를 표시하고 관리자가 샘플 콘텐츠를 포함할지 선택할 수 있게 합니다. 빈 데이터베이스에 시드를 적용하고 설정 완료를 기록합니다. 이후 시작에서는 기존 사이트에 시드를 다시 적용하지 않습니다.
설치된 사이트 사용자 지정
생성된 프로젝트를 직접 편집하세요.
src/pages/의 라우트 파일을 변경합니다.src/layouts/와src/components/의 공유 마크업을 변경합니다.- 첫 설정 전에
seed/seed.json의 초기 모델을 변경합니다. - 관리자의 Content Types에서 기존 사이트의 모델을 관리합니다.