From 31c0690d4bf696030a5be14ffc66c3a0f8047961 Mon Sep 17 00:00:00 2001 From: Yun Chan Date: Thu, 20 Aug 2026 22:03:18 +0900 Subject: [PATCH] =?UTF-8?q?=EC=A1=B0=ED=8C=90=20=EC=84=B9=EC=85=98?= =?UTF-8?q?=EC=9D=84=20=EC=A0=84=EB=A9=B4=20=EA=B0=9C=ED=8E=B8=ED=95=9C?= =?UTF-8?q?=EB=8B=A4=20=E2=80=94=20=EC=A3=BC=EC=9E=A5=EA=B3=BC=20=EB=8D=B0?= =?UTF-8?q?=EB=AA=A8=EB=A5=BC=20=EB=A7=9E=EC=B6=98=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit h2 '라틴 기준으로 만든 도구는 한글에서 멈춘다' 는 무엇이 어떻게 멈추는지 말하지 않았다. 그리고 데모가 그 주장을 증명하지 못했다. 데모가 실제로 실패하고 있었다 word-break: break-all 과 keep-all 을 나란히 두고 '차이는 한 줄뿐'이라고 적었는데, 재보니 줄 수 3 · 높이 87px 로 완전히 동일했다. 어절이 짧아 두 쪽이 같은 자리에서 끊긴 것이다. 차이가 0 인 비교는 증명이 아니라 주장의 반증이다. 개편 h2 -> '라틴 기본값은 한글에서 세 군데가 깨진다' 수치가 데모 개수와 정확히 대응한다 데모 -> 셋으로. 각각 실제로 갈린다 줄바꿈 break-all vs keep-all (긴 어절 + 15rem 고정폭) 행간 1.45 vs 1.75 (높이 74 vs 89) 크기 11px vs 15px (2줄 vs 3줄) 노트도 고쳤다. '로스팅프로파일이 갈린다'고 썼는데 실제로 갈린 건 다른 어절이었다 — 폭에 따라 바뀌므로 어절을 지목하지 않고 현상만 말한다. 스킬 antipatterns.md '데모가 주장을 증명하는지 재라' 추가. 비교 데모의 높이·줄 수를 실제로 재는 코드와, 차이가 안 날 때의 대처. --- apps/site/src/components/Typography.astro | 120 ++++++++++++++++------ apps/site/src/i18n/content.ts | 85 +++++++++++---- packages/skill/references/antipatterns.md | 22 ++++ 3 files changed, 175 insertions(+), 52 deletions(-) diff --git a/apps/site/src/components/Typography.astro b/apps/site/src/components/Typography.astro index f73d68a..3a0063d 100644 --- a/apps/site/src/components/Typography.astro +++ b/apps/site/src/components/Typography.astro @@ -13,18 +13,34 @@ const { c } = Astro.props;

{c.eyebrow}

{c.h2}

{c.lead}

-

{c.body}

- {/* 주장을 글로 하지 않고 실물로 보여준다. 두 문단의 차이는 word-break 한 줄뿐이다 */} -
-
-

{c.demoLabels[0]}

-

{c.demoText}

-
-
-

{c.demoLabels[1]}

-

{c.demoText}

-
+ {/* + 주장을 글로 하지 않고 실물로 보여준다. + + 한때 word-break 하나만 두 칼럼으로 비교했는데, 어절이 짧아 두 쪽이 + 같은 자리에서 끊겼다 — 줄 수도 높이도 똑같았다. 차이가 0 인 비교는 + 증명이 아니라 주장의 반증이다. 셋으로 늘리고, 잘리는 긴 어절을 넣고, + 폭을 좁혀 실제로 갈리게 만들었다. + */} +
+ { + c.demos.map((d) => ( +
+

{d.title}

+
+
+

{d.badLabel}

+

{c.sample}

+
+
+

{d.goodLabel}

+

{c.sample}

+
+
+

{d.note}

+
+ )) + }