figma_to_html_agent/: - Figma MCP 기반 블록 추출 에이전트 (CLAUDE.md, PLAN.md, PROCESS.md 등) - block-tests/: Figma→HTML 변환 결과물 (bim-3roles-cards 등) - templates_staging/: Jinja2 템플릿 + meta.yaml + example.yaml - figma-analysis/, figma-assets/: Figma 분석 데이터 + 에셋 - scripts/: gradient_math.py 등 유틸리티 설정: - .mcp.json: Figma MCP 서버 연결 설정 - .claude/settings.json: Claude Code 프로젝트 설정 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
137 lines
4.1 KiB
HTML
137 lines
4.1 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="ko">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<title>cards/card-text-grid</title>
|
|
<style>
|
|
@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable-dynamic-subset.min.css");
|
|
/* Design Agent — 디자인 토큰 */
|
|
/* CLAUDE.md에 정의된 디자인 원칙을 CSS 변수로 구현 */
|
|
|
|
:root {
|
|
/* 색상 */
|
|
--color-primary: #1e293b;
|
|
--color-accent: #2563eb;
|
|
--color-neutral: #64748b;
|
|
--color-bg: #ffffff;
|
|
--color-bg-subtle: #f8fafc;
|
|
--color-border: #e2e8f0;
|
|
--color-danger: #dc2626;
|
|
--color-success: #16a34a;
|
|
--color-text: #1e293b;
|
|
--color-text-secondary: #64748b;
|
|
--color-text-light: #94a3b8;
|
|
|
|
/* 폰트 크기 */
|
|
--font-title: 2rem;
|
|
--font-subtitle: 1.25rem;
|
|
--font-body: 0.95rem;
|
|
--font-caption: 0.8rem;
|
|
--font-small: 0.7rem;
|
|
|
|
/* 폰트 두께 */
|
|
--weight-normal: 400;
|
|
--weight-medium: 500;
|
|
--weight-bold: 700;
|
|
--weight-black: 900;
|
|
|
|
/* 여백 */
|
|
--spacing-page: 40px;
|
|
--spacing-block: 20px;
|
|
--spacing-inner: 16px;
|
|
--spacing-small: 8px;
|
|
|
|
/* 기타 */
|
|
--radius: 6px;
|
|
--border-width: 1px;
|
|
--accent-border: 3px;
|
|
--line-height-ko: 1.7;
|
|
}
|
|
|
|
body { font-family: "Pretendard Variable", sans-serif; background: #e8ecf0; display: flex; justify-content: center; padding: 30px; margin: 0; }
|
|
.block-container { width: 920px; background: #fff; padding: 20px; border-radius: 8px; box-shadow: 0 2px 12px rgba(0,0,0,0.08); }
|
|
.block-container .block-section-title { margin: -20px -20px 0; border-radius: 8px 8px 0 0; overflow: hidden; }
|
|
</style>
|
|
</head>
|
|
<body><div class="block-container"><!-- 카드 그리드 블록: 2~4열 카드 배열 -->
|
|
<div class="block-card-grid" style="--card-count: 3">
|
|
|
|
<div class="card" style="border-top-color: None">
|
|
|
|
<div class="card-title">건설산업</div>
|
|
<span class="card-category">종합산업</span>
|
|
<div class="card-description">다양한 시설물을 광범위한 기술을 통합·융합하여 만들어내는 종합산업</div>
|
|
|
|
</div>
|
|
|
|
<div class="card" style="border-top-color: None">
|
|
|
|
<div class="card-title">BIM</div>
|
|
<span class="card-category">핵심 인프라 기술</span>
|
|
<div class="card-description">시설물 생애주기 정보를 3D 모델 기반으로 통합·관리하는 도구</div>
|
|
<div class="card-source">국토교통부, 2020</div>
|
|
</div>
|
|
|
|
<div class="card" style="border-top-color: None">
|
|
|
|
<div class="card-title">DX</div>
|
|
<span class="card-category">패러다임 변화</span>
|
|
<div class="card-description">디지털 기술 기반으로 업무방식과 가치 창출 구조를 전환하는 과정</div>
|
|
<div class="card-source">IBM, 2011</div>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<style>
|
|
.block-card-grid {
|
|
display: grid;
|
|
grid-template-columns: repeat(var(--card-count, 3), 1fr);
|
|
gap: var(--spacing-inner);
|
|
height: 100%;
|
|
}
|
|
.card {
|
|
background: var(--color-bg);
|
|
border: var(--border-width) solid var(--color-border);
|
|
border-top: var(--accent-border) solid var(--color-accent);
|
|
border-radius: var(--radius);
|
|
padding: var(--spacing-inner);
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
.card-icon {
|
|
font-size: 1.5rem;
|
|
margin-bottom: var(--spacing-small);
|
|
}
|
|
.card-title {
|
|
font-size: var(--font-subtitle);
|
|
font-weight: var(--weight-bold);
|
|
color: var(--color-primary);
|
|
margin-bottom: 4px;
|
|
}
|
|
.card-category {
|
|
font-size: var(--font-small);
|
|
font-weight: var(--weight-medium);
|
|
color: var(--color-accent);
|
|
background: #dbeafe;
|
|
padding: 2px 8px;
|
|
border-radius: 12px;
|
|
display: inline-block;
|
|
margin-bottom: var(--spacing-small);
|
|
width: fit-content;
|
|
}
|
|
.card-description {
|
|
font-size: var(--font-body);
|
|
color: var(--color-text);
|
|
line-height: var(--line-height-ko);
|
|
flex: 1;
|
|
}
|
|
.card-source {
|
|
font-size: var(--font-small);
|
|
color: var(--color-text-light);
|
|
font-style: italic;
|
|
margin-top: var(--spacing-small);
|
|
border-top: var(--border-width) solid var(--color-border);
|
|
padding-top: var(--spacing-small);
|
|
}
|
|
</style></div></body>
|
|
</html> |