P Primer · 08

함께 보는 사이트

Related sites

「함께 보는 육아 사이트」를 테두리 상자 카드로 보여줘요. 카드마다 파란 네모 표식, 파란 이름, 소개, 글 수가 들어가요.

쓰는 규칙사이트는 모노그램(이름 글자 표식)과 이름으로 구분한다 — 사이트마다 다른 색을 쓰지 않는다.

다른 이름: RelatedSites
···
usage (Astro)
---
// src/pages/index.astro
import { RelatedSites } from '../components/registry';
---
<RelatedSites heading="함께 보는 육아 사이트" sites={related} />
site.json
// sites/<사이트>/site.json — 적지 않으면 사이트 이름으로 자동으로 고른다
{
  "variants": { "RelatedSites": "cards" }
}
props (TypeScript)
export interface RelatedSitesProps {
  heading: string;
  sites: SiteLink[];
  variant?: VariantOf<'RelatedSites'>;
}

cards는 상자마다 파란 네모 표식, 파란 이름, 소개, 「글 n편」이 들어가요. 넓은 화면에서는 한 줄에 여러 장이 놓여요(데모에서는 3장). list는 상자 하나에 줄이 쌓이고 표식·이름·소개 오른쪽에 글 수 칸이 붙어요. inline은 표식도 없이 한 문단 안에 링크를 가운뎃점으로 이어요.

사이트를 눈에 띄게 소개하려면 cards, 자리를 아끼려면 list나 inline이 맞아요. 표식이 모두 같은 파란색이라 사이트끼리 색으로는 구분이 안 되니 이름이 중요해요. 카드 열 수는 마지막 줄 외톨이가 없게 맞춰져요(3·6개는 3열, 그 밖은 2열).

GitHub의 고정 저장소(pinned) 카드 모양을 따랐어요.

이럴 때 — 변형 3

  1. cards상자 사이트가 3~6곳이고 한 줄 소개를 보여 주고 싶을 때.쓰는 사이트 4곳: babyplay, birthprep, milestone, 허브
  2. list줄 사이트가 많거나 글 수를 나란히 비교하게 하고 싶을 때.쓰는 사이트 4곳: babyfood, babysick, babysleep, feeding
  3. inline문단 홈 아래를 짧게 끝내고 싶을 때 — 한 문단 안의 링크로.쓰는 사이트 3곳: newborn, toddlerfood, vaccination
페이지로 열기 ↗

항목 추가 요청

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