5단계 AI 파이프라인: 1. Kei 실장(Opus via Kei API) — 꼭지 추출 + 정보 구조 파악 2. 디자인 팀장 — FAISS 블록 검색 + Opus 추천 + Sonnet 블록 매핑 3. Kei 편집자(Kei API) — 도메인 전문 텍스트 정리 4. 디자인 실무자(Sonnet + Jinja2) — CSS 변수 조정 + HTML 조립 5. 디자인 팀장(Sonnet) — 균형 재검토 (최대 2회 루프) 블록 라이브러리 46개 (6 카테고리) + _legacy 13개 FAISS 블록 검색 (bge-m3, 1024차원) SVG N개 동적 배치 (cos/sin 좌표 계산) Pillow 이미지 크기 측정 + base64 인라인 컨테이너 예산 기반 블록 배치 (zone별 높이 px) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
40 lines
977 B
HTML
40 lines
977 B
HTML
<!-- 이미지 행: 2~4장 이미지 나란히 -->
|
|
<!--
|
|
📋 image-row
|
|
─────────────────
|
|
용도: 시공 사진, 근거 자료, 현장 이미지 나란히 배치
|
|
슬롯: images[] 배열 (각 이미지에 src, alt, caption)
|
|
Figma 원본: 2-1_02 > image grid (460x354 x 2)
|
|
-->
|
|
<div class="block-image-row" style="--ir-count: {{ images|length }}">
|
|
{% for img in images %}
|
|
<div class="ir-item">
|
|
<img src="{{ img.src }}" alt="{{ img.alt | default('') }}">
|
|
{% if img.caption %}<div class="ir-caption">{{ img.caption }}</div>{% endif %}
|
|
</div>
|
|
{% endfor %}
|
|
</div>
|
|
|
|
<style>
|
|
.block-image-row {
|
|
display: grid;
|
|
grid-template-columns: repeat(var(--ir-count, 2), 1fr);
|
|
gap: 0;
|
|
}
|
|
.ir-item {
|
|
overflow: hidden;
|
|
}
|
|
.ir-item img {
|
|
width: 100%;
|
|
height: 354px;
|
|
object-fit: cover;
|
|
display: block;
|
|
}
|
|
.ir-caption {
|
|
font-size: 11px;
|
|
color: var(--color-text-light, #94a3b8);
|
|
text-align: center;
|
|
padding: 4px;
|
|
}
|
|
</style>
|