From 983be52842abf21a321552c44c55e3c6a9eb5ce8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=EA=B9=80=EB=8F=84=ED=98=95?=
Date: Fri, 24 Apr 2026 14:33:16 +0900
Subject: [PATCH] =?UTF-8?q?feat:=20Hero=EC=97=90=20AI=20=ED=99=9C=EC=9A=A9?=
=?UTF-8?q?=20=EC=86=8C=EA=B0=9C=C2=B7Repository=20=EB=A7=81=ED=81=AC=20+?=
=?UTF-8?q?=20=ED=94=84=EB=A1=9C=EC=A0=9D=ED=8A=B8=20=ED=91=9C=EC=A7=80=20?=
=?UTF-8?q?aspect=20fill=20(#29)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
- HeroSection: 이 사이트가 Claude Code 바이브 코딩으로 직접 만들어졌다는
AI 활용 역량 선언 문단 추가 (웹 전용, PDF에서는 data-print-hide)
- HeroSection: Repository 버튼·MetaList 항목 추가 (ShapeKim98/portfolio)
- HeroSection: 프린트 전용 웹사이트 URL 라인 노출 (data-print-only)
- print.css: data-print-hide 패턴과 대칭되는 data-print-only 유틸 신설
- ProjectLayout: ProjectCover / UseCaseCover 이미지 object-contain → cover
+ 래퍼에 max-h-[85vh] 적용하여 85vh 초과 시 자연스럽게 잘림
Co-Authored-By: Claude Opus 4.7 (1M context)
---
src/app/components/HeroSection.tsx | 57 ++++++++++++++++++++++++++++
src/app/components/ProjectLayout.tsx | 10 ++---
src/styles/print.css | 7 ++++
3 files changed, 69 insertions(+), 5 deletions(-)
diff --git a/src/app/components/HeroSection.tsx b/src/app/components/HeroSection.tsx
index c10885c..2b41042 100644
--- a/src/app/components/HeroSection.tsx
+++ b/src/app/components/HeroSection.tsx
@@ -31,6 +31,33 @@ export function HeroSection() {
iOS 개발자입니다.
+ {/* AI 활용 역량 선언 — 웹 전용 (PDF에서는 숨김) */}
+
+ 이 포트폴리오 사이트는{" "}
+
+ Claude Code
+
+ 를 활용한{" "}
+ 바이브 코딩
+ 으로 직접 만들었습니다. 기획·디자인 시스템·편집 레이아웃·PDF 자동 출력까지 AI를 도구로 활용해 빠르게 구현했습니다.{" "}
+
+ 소스 보기 →
+
+
+
{/* Actions */}
@@ -92,6 +136,19 @@ export function HeroSection() {
),
},
+ {
+ label: "Repository",
+ value: (
+
+ ShapeKim98/portfolio
+
+ ),
+ },
]}
/>
diff --git a/src/app/components/ProjectLayout.tsx b/src/app/components/ProjectLayout.tsx
index 6a7f0a9..1c2ffcc 100644
--- a/src/app/components/ProjectLayout.tsx
+++ b/src/app/components/ProjectLayout.tsx
@@ -84,12 +84,12 @@ export function ProjectCover({
data-print-keep
data-print-cover
>
-
- {/* Image — natural aspect ratio preserved, clickable for detail view */}
+
+ {/* Image — aspect fill: 자연 비율 유지, 85vh 초과분은 하단에서 잘림 */}
{/* Readable gradient overlay — kept in PDF too to match web design */}
-
+
에 .print-mode 클래스 부여
* Puppeteer 기반 PDF 추출은 이 경로를 주로 사용한다.
@@ -66,6 +72,7 @@ html.print-mode [class*="h-screen"] { height: auto !important; }
html.print-mode main { padding-left: 0 !important; padding-top: 0 !important; }
html.print-mode section[id="hero"] { min-height: 0 !important; padding-top: 24px !important; padding-bottom: 24px !important; }
html.print-mode [data-print-hide] { display: none !important; }
+html.print-mode [data-print-only] { display: inline !important; }
/* 테마 배경/장식 레이어 제거 */
html.print-mode { background: transparent !important; }