P Primer · 07

주제 목록

Topic index

기본인 sections 는 주제마다 회색 머리 줄이 있는 상자에 글 제목이 파란 링크로 쌓여요. index 는 주제 줄만, lead 는 상자 없이 첫 글을 크게 보여요.

쓰는 규칙대표 글은 여기에 다시 나오지 않는다 — 같은 글이 홈에 두 번 보이지 않게. 「찾기」 홈 머리와 「바로가기」 목록은 같은 링크라 함께 고르지 않는다.

다른 이름: TopicIndex
···
usage (Astro)
---
// src/pages/index.astro
import { TopicIndex } from '../components/registry';
---
<TopicIndex heading="주제별로 보기" topics={await topics(featured)} />
site.json
// sites/<사이트>/site.json — 적지 않으면 사이트 이름으로 자동으로 고른다
{
  "variants": { "TopicIndex": "sections" }
}
props (TypeScript)
export interface TopicIndexProps {
  heading: string;
  topics: Topic[];
  variant?: VariantOf<'TopicIndex'>;
}

sections는 주제마다 상자에 머리 줄(이름과 글 수), 설명, 글 3편, 아래 「글 n편 모두 보기」 줄이 들어가고 넓은 화면에서는 두 칸으로 나란히 서요. index는 상자 하나에 주제 줄만 있어서 이름·설명·글 수만 보이고 글 목록은 없어요. lead는 상자를 없애고 주제마다 이름 아래 선을 그은 뒤, 첫 글은 크게(설명 포함) 쓰고 나머지 두 편은 작은 링크로 줘요.

홈에서 글을 바로 보여 주고 싶으면 sections, 홈을 짧게 두고 주제 바로가기만 두고 싶으면 index가 맞아요. 상자가 많아 빽빽하게 느껴질 수 있고, lead가 가장 숨통이 트여요. 열 수는 마지막 줄에 외톨이 상자가 남지 않게 맞춰져요(4개는 2×2, 3·6개는 3열).

대표 글은 페이지가 따로 빼서 넘기기 때문에 같은 글이 두 번 나오지 않아요.

이럴 때 — 변형 3

  1. sections주제마다 글 3편 주제마다 글이 세 편 넘게 고르게 있을 때.쓰는 사이트 4곳: babyplay, babysleep, birthprep, newborn
  2. index바로가기 줄 주제가 많고, 글은 주제 페이지에서 보게 하고 싶을 때 — 이름·설명·글 수만.쓰는 사이트 4곳: babyfood, feeding, milestone, vaccination
  3. lead첫 글 크게 주제마다 대표 글이 뚜렷할 때 — 첫 글 크게, 두 편 작게.쓰는 사이트 3곳: babysick, toddlerfood, 허브
페이지로 열기 ↗

항목 추가 요청

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