Skip to content

Commit 6b74269

Browse files
author
doha-kim
committed
디자인 시스템 변경
1 parent 0a9c9b7 commit 6b74269

2 files changed

Lines changed: 339 additions & 80 deletions

File tree

DESIGN.md

Lines changed: 213 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,213 @@
1+
# Design System — Anthropic Base + Stripe Enhancement
2+
3+
이 문서는 블로그의 디자인 시스템 토큰과 설계 근거를 정리합니다.
4+
5+
---
6+
7+
## Design Philosophy
8+
9+
- **Anthropic Base**: 연구 저널 톤. 따뜻한 중성 팔레트(ivory, slate, clay), serif 헤딩, mono 메타데이터, 직각 태그.
10+
- **Stripe Enhancement**: 부드러운 다층 그림자, 넉넉한 여백, 미세한 hover 전환으로 세련된 인터랙션 레이어 추가.
11+
- **불변 영역**: 코드 블럭(One Dark), 모바일 반응형 구조, 아바타 숨김.
12+
13+
---
14+
15+
## Color Tokens
16+
17+
### Light Mode (`:root`)
18+
19+
```yaml
20+
# Slate (텍스트 계열)
21+
ct-text: "#141413" # Anthropic Slate Dark — 본문
22+
ct-heading: "#141413" # 헤딩 통일
23+
ct-heading-sub: "#141413" # 서브 헤딩 통일
24+
ct-strong: "#141413" # 강조 통일
25+
ct-muted: "#5e5d59" # Anthropic Slate Light
26+
ct-meta: "#87867f" # Anthropic Cloud Dark
27+
ct-meta-light: "#b0aea5" # Anthropic Cloud Medium
28+
29+
# Cloud (보더/배경 계열)
30+
ct-border: "#d1cfc5" # Anthropic Cloud Light
31+
ct-border-table: "#d1cfc5"
32+
ct-border-table-head: "#c5bfb3" # 약간 진한 Cloud
33+
ct-border-table-row: "#e3ddd3" # 따뜻한 row border
34+
35+
# Ivory (배경 계열)
36+
ct-bg-blockquote: "#f0eee6" # Anthropic Ivory Medium
37+
ct-bg-table-head: "#f0eee6"
38+
ct-bg-table-hover: "#f5f3ed" # 약간 밝은 ivory
39+
40+
# Accent
41+
ct-accent: "#d97757" # Anthropic Clay (terracotta)
42+
ct-border-blockquote: "#d97757"
43+
44+
# Inline code
45+
ct-inline-code-bg: "#ede9e0" # 따뜻한 톤
46+
ct-inline-code-color: "#8b4513" # 따뜻한 갈색
47+
48+
# Card
49+
ct-card-border: "#d1cfc5"
50+
ct-card-hover-border: "#c5bfb3"
51+
ct-card-title: "#141413"
52+
ct-card-text: "#5e5d59"
53+
54+
# Category
55+
ct-cat-header-bg: "#f0eee6"
56+
ct-cat-header-border: "#d1cfc5"
57+
ct-cat-item-text: "#3d3d3a" # Anthropic Slate Medium
58+
ct-cat-item-hover-bg: "#f0eee6"
59+
60+
# Tag
61+
ct-tag-bg: "#ede9e0"
62+
ct-tag-color: "#87867f"
63+
ct-tag-hover-bg: "#e3ddd3"
64+
ct-tag-hover-color: "#d97757" # Terracotta on hover
65+
ct-tag-hover-border: "#d97757"
66+
ct-tag-muted: "#b0aea5"
67+
68+
# Archive
69+
ct-archive-link: "#141413"
70+
ct-archive-day: "#5e5d59"
71+
ct-archive-month: "#87867f"
72+
ct-archive-hover-bg: "#f0eee6"
73+
```
74+
75+
### Dark Mode (`@mixin dark-vars`)
76+
77+
따뜻한 다크 — 순수 검정 대신 brown/gray 톤.
78+
79+
```yaml
80+
ct-text: "#d1cfc5"
81+
ct-heading: "#e8e6dc"
82+
ct-heading-sub: "#e3ddd3"
83+
ct-strong: "#e8e6dc"
84+
ct-muted: "#87867f"
85+
ct-meta: "#87867f"
86+
ct-meta-light: "#5e5d59"
87+
ct-border: "#2e2a25"
88+
ct-accent: "#e0926b" # 밝은 terracotta
89+
90+
ct-bg-blockquote: "#1e1b18"
91+
ct-border-blockquote: "#e0926b"
92+
ct-inline-code-bg: "#2a2520"
93+
ct-inline-code-color: "#e0926b"
94+
95+
ct-border-table: "#2e2a25"
96+
ct-border-table-head: "#3a3530"
97+
ct-border-table-row: "#2e2a25"
98+
ct-bg-table-head: "#231f1b"
99+
ct-bg-table-hover: "#231f1b"
100+
101+
ct-card-border: "#2e2a25"
102+
ct-card-hover-border: "#4a4035"
103+
ct-card-title: "#e8e6dc"
104+
ct-card-text: "#87867f"
105+
106+
ct-cat-header-bg: "#231f1b"
107+
ct-cat-header-border: "#2e2a25"
108+
ct-cat-item-text: "#b0aea5"
109+
ct-cat-item-hover-bg: "#231f1b"
110+
111+
ct-tag-bg: "#2a2520"
112+
ct-tag-color: "#b0aea5"
113+
ct-tag-hover-bg: "#3a3530"
114+
ct-tag-hover-color: "#e0926b"
115+
ct-tag-hover-border: "#e0926b"
116+
ct-tag-muted: "#5e5d59"
117+
118+
ct-archive-link: "#d1cfc5"
119+
ct-archive-day: "#87867f"
120+
ct-archive-month: "#5e5d59"
121+
ct-archive-hover-bg: "#231f1b"
122+
```
123+
124+
### Page Background
125+
126+
```yaml
127+
light: "#faf9f5" # Anthropic Ivory Light
128+
dark: "#1a1815" # 따뜻한 다크
129+
```
130+
131+
---
132+
133+
## Typography
134+
135+
```yaml
136+
body:
137+
family: "'Spoqa Han Sans Neo', -apple-system, BlinkMacSystemFont, system-ui, 'Segoe UI', sans-serif"
138+
size: 0.78rem (base 12px)
139+
line-height: 1.75
140+
letter-spacing: -0.008em
141+
reason: "한글 최적화 우수. Anthropic도 본문은 Sans 사용."
142+
143+
heading-h1:
144+
family: "'Noto Serif KR', serif"
145+
weight: 700
146+
letter-spacing: -0.02em
147+
reason: "Serif → 연구 저널의 권위감. Anthropic 제목 톤 반영."
148+
149+
heading-h2-h3:
150+
family: "inherit (Spoqa Han Sans Neo)"
151+
weight: 800 (h2), 700 (h3)
152+
reason: "본문 레벨은 Sans 유지. Anthropic도 섹션 제목은 Sans."
153+
154+
code:
155+
family: "'JetBrains Mono', 'Fira Code', 'SF Mono', Menlo, Monaco, Consolas, monospace"
156+
reason: "가독성 높은 코딩 폰트. 리가처 지원."
157+
158+
metadata:
159+
family: "'JetBrains Mono', monospace"
160+
transform: uppercase
161+
letter-spacing: 0.04em
162+
reason: "Anthropic의 mono metadata 패턴. 날짜/카테고리에 기술적 톤 부여."
163+
```
164+
165+
---
166+
167+
## Spacing & Layout
168+
169+
```yaml
170+
post-content-max-width: 700px
171+
card-padding: 1.1rem 1.3rem
172+
blockquote-padding: 0.75rem 1rem
173+
code-block-padding: 0.9rem 2rem
174+
```
175+
176+
---
177+
178+
## Shadows (Stripe Influence)
179+
180+
```yaml
181+
card-default: "0 1px 3px rgba(0, 0, 0, 0.04)"
182+
card-hover: "0 4px 12px rgba(0, 0, 0, 0.08)"
183+
code-block: "0 4px 16px rgba(0, 0, 0, 0.15), 0 1px 3px rgba(0, 0, 0, 0.08)"
184+
reason: "Stripe의 다층 그림자 — 깊이감을 주되 과하지 않게."
185+
```
186+
187+
---
188+
189+
## Border Radius
190+
191+
```yaml
192+
card: 8px # 10px → 8px (Anthropic 톤)
193+
tag: 0 # 12px → 0 (Anthropic squared)
194+
blockquote: "0 6px 6px 0"
195+
code-block: 10px # 유지
196+
table: 6px # 유지
197+
```
198+
199+
---
200+
201+
## Design Rationale
202+
203+
### 왜 Anthropic + Stripe인가?
204+
205+
1. **Anthropic**: 따뜻한 중성 팔레트가 긴 기술 글 읽기에 적합. 순수 흰색/검정 대비보다 눈의 피로도가 낮음. Terracotta 액센트는 학술 저널의 신뢰감을 줌.
206+
2. **Stripe**: 그림자와 전환 효과가 인터랙션 피드백을 자연스럽게 제공. 카드, 호버 상태에서 "떠오르는" 느낌이 콘텐츠 탐색을 유도.
207+
3. **조합 원칙**: 색상·타이포는 Anthropic, 인터랙션·깊이감은 Stripe. 두 시스템의 교집합(미니멀, 고대비 텍스트, 넉넉한 여백)을 기반으로 충돌 없이 병합.
208+
209+
### 불변 영역
210+
211+
- 코드 블럭: One Dark 테마 전체 (구문 강조, 배경, 라인 넘버)
212+
- 모바일 반응형 breakpoint 및 구조
213+
- `#sidebar #avatar { display: none }`

0 commit comments

Comments
 (0)