# supporters-astro 템플릿 병원 하나의 서포터즈 사이트를 만드는 Astro 7 정적 템플릿이다. `supporters/`(뷰성형외과 샘플)에서 `node scripts/export_template.mjs`로 생성되며, 직접 편집하지 않는다. 고칠 것은 `supporters/`에서 고치고 다시 내보낸다. ## 데이터만 채우면 되는 것 | 파일 | 내용 | 채우는 주체 | |---|---|---| | `src/data/factSheet.json` | 병원 사실 단일 원본 (NAP·진료시간·층·진료과·안전·이력·플랫폼 집계) | 근거 수집기 + 병원 확인 | | `src/data/authors.json` | 작성자(실명·직함·sameAs·정정 이메일), 의학 검토 원장 | 운영자·병원 입력 | | `src/data/site.json` | 매체 이름·로고·홈 화면 큐레이션(영상 3편, 시설 사진, 방문 약도, 추천 글) | 운영자 | | `src/data/videos.json` | 유튜브 채널 집계 (Top10 롱폼·정보형 쇼츠+답) | 수집기 | | `src/data/news.json` | 뉴스룸 (보도자료·기고·언급) | `scripts/build_news.py` | | `src/data/corrections.json` | 정정 기록 | 운영자 | | `src/content/posts/*.md` | 글. frontmatter 규격은 `src/content.config.ts` | 글 생성기 + 검토 승인 | | `public/img/` | 병원 허락을 받은 이미지 | 수집기 | | `scripts/home_text.txt` | 홈페이지 본문(공백 제거). 40자 연속 일치 검사 기준 | 수집기 | 비어 있는 값은 화면에 "확인 대기"로 표시되고 스키마에서는 빠진다. 지어내지 않는다. ## 빌드·검사 ``` npm ci npm run build # astro build + 발행 게이트(scripts/check.mjs). error가 있으면 exit 1 npm run gate:test # 게이트 규칙 회귀 (픽스처 + 글 전편) node scripts/check.mjs --update-layout # 룩앤필 변경을 승인한 뒤에만 구조 기준선 갱신 ``` 배포 주소는 `SITE_URL` 환경변수(vercel.json·astro.config.mjs의 `__CLINIC_ID__`를 병원 id로 교체). 기본은 noindex이며 `PUBLIC_INDEXABLE=true`로 색인을 연다.