o2o-infinith-demo/templates/supporters-astro/src/components/History.astro
Haewon Kam 622441e6aa feat(supporters): 템플릿화 — 병원 고유값을 데이터로 분리하고 templates/supporters-astro 내보내기
- src/data/site.json 신설(매체 이름·로고·홈 큐레이션), factSheet에 kind·areaLabel·transitShort·transitNote·reservationUrl·doctorsUrl·youtube.title 추가
- lib.ts: PENDING('확인 대기')·v()·has()·surface()·editor() 도입, 스키마는 빈 값을 빼고 생성
- 페이지·컴포넌트 15개에서 뷰성형외과 하드코딩 제거, 빈 데이터 empty-state (글 0편·영상 0건·뉴스 0건·이미지 없음)
- 검증: 28페이지 표시 텍스트·구조 지문 이전 빌드와 동일(홈 title 마침표 1건만 정정), JSON-LD 차이는 빈 sameAs 제거뿐
- scripts/export_template.mjs + scripts/template/data(빈 데이터 세트) → templates/supporters-astro (빈 데이터로 10페이지 0오류 빌드, 게이트 통과)
- 게이트 픽스처를 자체 authors로 분리해 템플릿에서도 테스트 통과, 구조 기준선의 글 상세 페이지는 사전순 첫 글로 동적 선택

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-07 14:07:14 +09:00

17 lines
706 B
Plaintext

---
// 갱신 기록. 무엇을 언제 바꿨는지 독자가 볼 수 있게 한다.
interface Props { items: { date: string; note: string }[] }
const { items } = Astro.props;
---
{items.length > 0 && (
<section class="history" aria-label="갱신 기록">
<h2>갱신 기록</h2>
<ul>{[...items].reverse().map((h) => <li><time datetime={h.date}>{h.date}</time> {h.note}</li>)}</ul>
</section>
)}
<style>
.history ul { list-style: none; padding: 0; margin: 0; font-size: 0.92rem; }
.history li { padding: 0.35rem 0; border-bottom: 1px solid var(--slate-100); }
.history time { display: inline-block; min-width: 6.5em; color: var(--slate-500); font-variant-numeric: tabular-nums; }
</style>