바뀌는 곳
- PC 상단 메뉴 맨 끝에 약사 뉴스 탭 추가 (
/news)
- PC 홈 본문, 커뮤니티 이슈 아래에 오늘의 약사 뉴스 카드 추가 — 주제 4개(핵심 현안·약국·의약·다른 전문직 이야기·경제·돈)가 6초마다 자동으로 넘어가요.
- 모바일 하단 메뉴에 뉴스 아이콘 추가, 직거래 홈의 최신 매물 아래에 뉴스 블록(주제 4개 × 3건, 자동 롤링) 추가
- 그 밖의 화면은 그대로예요. 이 데모의 기존 영역은 모양만 흉내 낸 예시 데이터예요.
'오늘' 강조와 롤링 규칙
- 제목 옆에 오늘 날짜(
updated의 날짜)를 보여 줘요. 오늘 기사에는 파란 '오늘' 배지와 시각(10:21)을, 어제 기사는 '어제 18:54', 그 전은 날짜를 붙여요.
- 추천 묶음과 홈 카드는 피드가 오늘 기사를 먼저 정렬해서 줘요(모자라면 어제 기사로 채움). 탭 목록에는 '오늘 기사만' 버튼이 있어요.
- 약사 뉴스 탭은 긴 스크롤 대신 묶음마다 5건씩 보여 주고 6~8초마다 다음 5건으로 넘겨요. 막대가 다 차면 넘어가요.
- 마우스를 올리거나 버튼에 초점이 있으면 멈추고, 모바일은 손가락을 대면 멈춰요. 좌우로 밀면 넘어가요.
- ‹ › 버튼과 "1 / 3" 표시로 직접 넘길 수 있어요. 움직임 줄이기 설정(prefers-reduced-motion) 사용자는 자동으로 넘기지 않아요.
데이터: 피드 한 개만 받아 그리면 돼요
- 주소:
GET https://(피드 주소)/feed.json — 30분마다 갱신
- 샘플:
feed-sample.json — 실서비스 형식 그대로인 한 시점 파일이에요(약준모 보정 없음, 갱신되지 않음).
- 기사 고르기·순서 정하기는 피드 쪽에서 끝내요. 사이트는 받은 순서대로 그리기만 하면 돼요.
- 이 데모의 순위에는 약사 커뮤니티(약준모 쉼터) 반응 보정(주제별 0.8~1.25배)이 들어 있어요. 실서비스 피드는 약관 검토 전까지 이 보정을 뺀 순위를 써요 (
community_adjusted 값으로 구분).
- 서버에서 받아 10~30분 캐시해 주세요(Next.js
revalidate). 피드가 실패하면 마지막 데이터를 그대로 보여 주세요.
{
"updated": "2026-09-30T12:07+09:00",
"stats": { "today": 312 }, // 오늘 올라온 기사 수
"sections": [{ "key": "pharm", "name": "약국·의약",
"desc": "…", "items": ["id1", "id2", …] }, …],
"picks": { "core": [id…10],
"blocks": [{ "key": "pharm", "items": [id…] }, …] },
"home": { "core": [id…6], "pharm": […], "other": […], "econ": […] },
"items": { "id1": {
"title": "…", "url": "https://원문",
"source": "팜뉴스", "published": "…", "updated": "…",
"section": "pharm", "topic": "창고형·대형 약국",
"badges": ["핵심 현안"], "level": 3,
"related": [{ "source": "…", "title": "…", "url": "…" }] } }
}
section 키: pharm 약국·의약 / other 다른 전문직 이야기 / econ 경제·돈 / soc 사회·정책 / health 건강 정보
badges: 핵심 현안(빨강) · 위기(주황) · 의사계·한의계(회색). 핵심 현안 묶음 안에서는 같은 배지를 생략해요.
related: 같은 소식을 쓴 다른 매체
- 시각은 한국 시각 문자열이에요.
꼭 지킬 것
- 제목·매체명·시각만 보여 주고, 제목을 누르면 원문으로 새 창에서 연결해요 (
target="_blank" rel="noopener").
- 본문·요약·사진은 넣지 않아요 (저작권).
- 페이지 안에 원문을 끼워 보여 주지 않아요 (iframe 금지).