C Carbon · 09

허브 사이트 목록

Hub directory

사이트를 아기 시기 순서(출산 전, 태어나서 100일 …)로 늘어놓아요. 큰 번호가 붙은 칸, 회색 머리 줄의 표, 가로 단계선 중에서 골라요.

쓰는 규칙시기마다 이름표가 있어서 홈 머리의 시기 링크를 누르면 그 자리로 바로 내려간다.

다른 이름: HubDirectory
···
usage (Astro)
---
// src/pages/index.astro
import { HubDirectory } from '../components/registry';
---
<HubDirectory stages={stageGroups} empty="첫 사이트를 준비하고 있어요. 곧 이곳에서 주제별 사이트를 고를 수 있어요." />
site.json
// sites/<사이트>/site.json — 적지 않으면 사이트 이름으로 자동으로 고른다
{
  "variants": { "HubDirectory": "stages" }
}
props (TypeScript)
export interface HubDirectoryProps {
  stages: HubStage[];
  /** 사이트가 하나도 없을 때 문장 */
  empty: string;
  variant?: VariantOf<'HubDirectory'>;
}

stages는 시기마다 줄을 나눠요. 왼쪽에 큰 가는 순번과 시기 이름, 오른쪽에 사이트 타일이 놓이고 줄 위에 가는 선이 있어요. table은 회색 머리 줄(시기, 사이트, 이런 내용, 글)의 표 한 장이고 시기 칸은 합쳐 보여요. timeline은 넓은 화면에서 가로 단계선 위에 고리를 두고 단계마다 사이트 링크를 아래로 늘어놓고, 폰에서는 세로로 바뀌어요.

사이트가 열 곳 안팎이라 시기별로 고르게 하는 허브에 쓰는 구성이에요. 사이트 소개까지 크게 보이게 하려면 stages, 한 화면에 전부 보이려면 table, 순서가 시간 흐름이라는 걸 강조하려면 timeline이에요. stages는 타일이 한두 개뿐인 줄이 많아 오른쪽이 비어 보여요.

이럴 때 — 변형 3

  1. stages시기 칸 시기마다 사이트가 두 곳 넘게 있을 때 — 시기 | 사이트 상자.쓰는 사이트 4곳: babyfood, birthprep, milestone, newborn
  2. table표 한눈에 비교하는 게 가장 중요할 때 — 시기 | 사이트 | 이런 내용 | 글 수.쓰는 사이트 3곳: babyplay, babysick, toddlerfood
  3. timeline세로 단계 순서(임신 → 신생아 → 돌)가 가장 중요한 정보일 때.쓰는 사이트 4곳: babysleep, feeding, vaccination, 허브
페이지로 열기 ↗

항목 추가 요청

빠진 컴포넌트·변형이나 팩에서 고칠 점을 알려 주세요. 하나씩 보고 원본 팩에 반영합니다.