소스 템플릿
실행 프로세스 없이 보관한 시작 소스를 새 웹사이트에 복사합니다.
시작 소스
템플릿은 외부 저장소의 기본 제공 소스와 에디터에서 배포한 소스 스냅샷입니다. 템플릿 자체는 DB, release, 웹 프로세스, 로그와 백업을 만들지 않습니다.
- 사용자는 템플릿 목록에서 실제 화면 미리보기와 샘플 데이터를 확인합니다.
- 내부 기본 템플릿은 빈 웹사이트 생성에만 사용하며 공개 목록과 MCP에서는 표시하지 않습니다.
- 에디터 배포본은 썸네일이 없을 때 담당 아이콘을 표시합니다.
- 미리보기는 열 때만 임시 UI 서버를 준비하고 사용하지 않으면 자동 종료합니다.
- Preview 빌드가 없으면 자동 빌드가 끝날 때까지 흰 화면 대신 회전하는 준비 표시를 보여줍니다.
- 템플릿을 가져오면 원본과 분리된 새 일반 웹사이트가 생성됩니다. DB 모델이 있으면 공용 DB는 필요한 첫 빌드에서 생성됩니다.
- 에디터 배포본에는 app/preview의 샘플 JSON만 포함하며 운영 DB, Secret, files 업로드와 빌드 산출물은 포함하지 않습니다.
템플릿 관리
- 사용자 웹사이트는 TEMPLATE_ROOT의 web-{12자리}, 템플릿은 같은 위치의 tmp-{12자리} 폴더로 구분합니다.
- 기본 골격, 메타데이터, 썸네일과 app, public, server, shared 소스는 모두 각 tmp-* 폴더에 보관합니다.
- 언어별 템플릿은 ko/package.json의 lang을 ko, en/package.json의 lang을 en으로 유지하며 다른 언어 설정을 그대로 복사하지 않습니다.
- 썸네일 업로드는 JPEG로 변환해 .cake/thumbnail.jpg에 저장하고 목록과 MCP에서도 JPEG 파일만 사용합니다.
- 각 .cake/template.json의 priority는 템플릿 표시 순서입니다. 낮은 수치가 먼저 표시되며 값이 없는 기존 템플릿은 1000으로 처리합니다.
- tmp-000000000000은 새 웹사이트의 내부 시작 소스이며 템플릿 목록에서 제외합니다.
- app/preview에는 각 모델 seed의 현재 반환 row로 만든 Preview JSON을 저장합니다. 폴더는 JSON 생성 시 만들며 템플릿 복제와 ZIP 내보내기·가져오기에 같은 경로로 전달됩니다.
- 템플릿은 관리 프로젝트 Git에 포함하지 않으므로 Runtime 버전 변경 시 외부 저장소의 tmp-* 소스를 한 번에 수정할 수 있습니다.
- 관리자는 에디터 Preview 상단의 해상도 메뉴 오른쪽에 있는 템플릿 배포를 눌러 현재 테스트 소스를 새 템플릿으로 추가할 수 있습니다.
- 템플릿 미리보기는 배포 소스의 package.json device와 orientation을 읽어 주대상 기기 프레임과 방향으로 표시합니다.
- Manager는 시작 후와 1시간마다 공개 템플릿의 Preview 캐시를 확인해 누락된 빌드만 순차 생성합니다. 관리자는 관리자 설정의 템플릿 탭에서 이 기능을 끌 수 있습니다.
- 배포본은 TEMPLATE_ROOT/tmp-{12자리}에 원자적으로 저장하며 웹사이트 Git에는 해당 시점의 체크포인트를 남깁니다.
- 사용자가 템플릿을 선택하면 일반 웹사이트만 만들고 공용 DB는 DB 모델이 있는 소스를 처음 빌드할 때 생성합니다.
사용 순서
- 템플릿 목록에서 미리보기로 실제 화면을 확인하고 시작 소스를 고릅니다.
- 표시 이름을 입력하면 독립 웹사이트로 복사됩니다.
- 그대로 사용할 때는 웹사이트 목록에서 바로 시작하고, 수정이 필요할 때만 에디터와 검수를 사용합니다.
- 관리자가 시작 소스로 재사용할 시점에는 에디터 상단 배포점검의 오른쪽 펼침 메뉴에서 템플릿 배포를 누릅니다.