renderfig
npx skills add https://github.com/variel/renderfig --skill renderfig
Agent 安装分布
Skill 文档
renderfig ì¤í¬
ë¹ì ì Figma .fig íì¼ì ì´ë¯¸ì§ë¡ ë ëë§íë ì 문ê°ì
ëë¤. renderfig CLI ë구를 ì¬ì©íì¬ .fig íì¼ì í¹ì íë ìì PNG/JPGë¡ ë ëë§íê³ , í
ì¤í¸/ì´ë¯¸ì§/ì¤íì¼ì íë¡ê·¸ëë°ì ì¼ë¡ ìì í ì ììµëë¤.
ë구 ê°ì
renderfigë ë¤ìê³¼ ê°ì íì´íë¼ì¸ì¼ë¡ ëìí©ëë¤:
.fig íì¼ â parsefig (íì±) â ë
¸ë í¸ë¦¬ + ì´ë¯¸ì§ ì¶ì¶
â ì¤ë²ë¼ì´ë ì ì© â HTML/CSS ìì± â Playwright ì¤í¬ë¦°ì· â PNG/JPG ì¶ë ¥
ìì ì ì°¨
1ë¨ê³: .fig íì¼ êµ¬ì¡° íì
ìì
ì ë°ëì inspect ëª
ë ¹ì¼ë¡ íì¼ êµ¬ì¡°ë¥¼ 먼ì íì¸íì¸ì.
# íì´ì§(ìºë²ì¤) ëª©ë¡ íì¸
npx renderfig inspect <íì¼ê²½ë¡>
# í¹ì íì´ì§ì íë ì ëª©ë¡ íì¸
npx renderfig inspect <íì¼ê²½ë¡> "íì´ì§ ì´ë¦"
# íë ì ë´ë¶ ë
¸ë 구조 íì¸ (depthë¡ ê¹ì´ ì¡°ì )
npx renderfig inspect <íì¼ê²½ë¡> "íì´ì§/íë ì" --depth 3
# ì ì²´ í¸ë¦¬ íì¸
npx renderfig inspect <íì¼ê²½ë¡> "íì´ì§/íë ì" --depth all
inspect ì¶ë ¥ìì ë¤ìì íì¸í©ëë¤:
- ë
¸ë ì´ë¦: ì¤ë²ë¼ì´ë
targetì¼ë¡ ì¬ì©í ì´ë¦ - ë
¸ë íì
:
[TEXT]ë í ì¤í¸ êµì²´ ê°ë¥,(image)ë ì´ë¯¸ì§ êµì²´ ê°ë¥ - ë ¸ë í¬ê¸°: ë ëë§ ê²°ê³¼ì 기ë í¬ê¸°
2ë¨ê³: ë ëë§
npx renderfig render <íì¼ê²½ë¡> "íì´ì§/íë ì" -o output.png
3ë¨ê³: ì¤ë²ë¼ì´ë ì ì© (íìí ê²½ì°)
í
ì¤í¸ êµì²´ --text
--text "ë
¸ëì´ë¦=ìë¡ì´ í
ì¤í¸" íìì¼ë¡ í
ì¤í¸ ë ì´ì´ì ë´ì©ì êµì²´í©ëë¤. ë
¸ë ì´ë¦ì 1ë¨ê³ inspectìì íì¸í ì´ë¦ì ì¬ì©í©ëë¤.
npx renderfig render design.fig "íë¡í ì¹´ë/Channy" \
--text "Channy (ì°¨ë)=ìì´ë¦" \
--text "Maker=ëìì´ë" \
-o output.png
ì´ë¯¸ì§ êµì²´ --image
--image "ë
¸ëì´ë¦=ì´ë¯¸ì§íì¼ê²½ë¡" íìì¼ë¡ ì´ë¯¸ì§ fillì êµì²´í©ëë¤.
npx renderfig render design.fig "íë¡í ì¹´ë/Channy" \
--image "ì¬ì§=./new-photo.jpg" \
-o output.png
ì¤íì¼ ìì --style
--style "ë
¸ëì´ë¦.ìì±=ê°" íìì¼ë¡ ì¤íì¼ ìì±ì ìì í©ëë¤.
npx renderfig render design.fig "íë¡í ì¹´ë/Channy" \
--style "Channy (ì°¨ë).fontSize=40" \
--style "Channy (ì°¨ë).color=#ff0000" \
-o output.png
ì§ìíë ì¤íì¼ ìì±:
ìì¹ & í¬ê¸°: x, y, width, height
ìì & ì¸ê´: color (hex), backgroundColor (hex), opacity (0-1), visible (true/false)
Border: cornerRadius, borderRadiusTopLeft, borderRadiusTopRight, borderRadiusBottomLeft, borderRadiusBottomRight, strokeColor (hex), strokeWeight
Typography (TEXT ë
¸ë): fontSize, fontFamily, fontWeight (Bold ë±), textAlign (LEFT/CENTER/RIGHT), textAlignVertical (TOP/CENTER/BOTTOM), lineHeight (px), lineHeightPercent (%), letterSpacing (px), textDecoration (UNDERLINE/STRIKETHROUGH)
Auto Layout (FRAME ë
¸ë): gap, padding, paddingHorizontal, paddingVertical, paddingTop, paddingRight, paddingBottom, paddingLeft, alignItems (MIN/CENTER/MAX), justifyContent (MIN/CENTER/MAX/SPACE_BETWEEN)
í°í¸ ì§ì --font
--font "í°í¸í¨ë°ë¦¬=í°í¸íì¼ê²½ë¡" íìì¼ë¡ ë¡ì»¬ í°í¸ë¥¼ ì§ì í©ëë¤. ì§ì íì§ ìì í°í¸ë Google Fontsìì ìë ë¡ë©ì ìëíê³ , Google Fontsìë ìì¼ë©´ ìì¤í
í°í¸ë¡ í´ë°±í©ëë¤.
npx renderfig render design.fig "íë¡í ì¹´ë/Channy" \
--font "Pretendard=./fonts/Pretendard-Regular.woff2" \
-o output.png
ì¶ë ¥ ìµì
| ìµì | ì¤ëª | ê¸°ë³¸ê° |
|---|---|---|
-o, --output <path> |
ì¶ë ¥ íì¼ ê²½ë¡ (íì) | – |
--format png|jpeg |
ì¶ë ¥ í¬ë§· | íì¥ììì ìë ê°ì§ |
--quality <n> |
JPEG íì§ (0-100) | – |
--scale <n> |
ëë°ì´ì¤ ì¤ì¼ì¼ í©í° | 1 |
Programmatic API
Node.js ì½ëìì ì§ì ì¬ì©í ìë ììµëë¤:
import { renderFrame } from 'renderfig';
const buffer = await renderFrame({
figFile: './design.fig',
frameName: 'íë¡í ì¹´ë/Channy',
output: './output.png',
scale: 2,
overrides: [
{ type: 'text', target: 'Channy (ì°¨ë)', value: 'ìì´ë¦' },
{ type: 'image', target: 'ì¬ì§', src: './photo.jpg' },
{ type: 'style', target: 'Maker', props: { fontSize: 24, color: '#0066ff' } },
],
fonts: [
{ family: 'Pretendard', src: './fonts/Pretendard-Regular.woff2' },
],
});
ìì ì§ì¹¨
- íì inspect 먼ì : ë ëë§ ì ë°ëì
inspectë¡ êµ¬ì¡°ë¥¼ íì íì¸ì. ë ¸ë ì´ë¦ì ì íí ììì¼ ì¤ë²ë¼ì´ëê° ëìí©ëë¤. - target 매ì¹: ë
¸ë ì´ë¦ ê·¸ëë¡ ì¬ì©íê±°ë
/êµ¬ë¶ ê²½ë¡ (ì:기본 ì ë³´/Channy (ì°¨ë))ë¡ ì§ì í©ëë¤. ê°ì ì´ë¦ì ë ¸ëê° ì¬ë¬ ê°ë©´ ê²½ë¡ë¥¼ ì¬ì©íì¸ì. - ëë ìì±: ê°ì í í릿ì¼ë¡ ì¬ë¬ ì´ë¯¸ì§ë¥¼ ë§ë¤ ëë Programmatic API를 ì¬ì©íë ì¤í¬ë¦½í¸ë¥¼ ìì±íì¸ì.
- í°í¸ 주ì: íêµì´ í°í¸(Pretendard, SUIT ë±)ë Google Fontsì ìë ê²½ì°ê° ë§ì¼ë¯ë¡
--fontë¡ ì§ì ì§ì í´ì¼ ì íí©ëë¤. - VECTOR 미ì§ì: ë³µì¡í 벡í°/ìì´ì½ ë ¸ëë ë ëë§ëì§ ììµëë¤. ì´ ê²½ì° í´ë¹ ë ¸ëê° ë¹ ì§ ìíë¡ ì¶ë ¥ë©ëë¤.
- ë ëë§ ê²°ê³¼ íì¸: ë ëë§ í ì¶ë ¥ ì´ë¯¸ì§ë¥¼ ì´ì´ 결과를 íì¸íê³ , íìíë©´ ì¤ë²ë¼ì´ë를 ì¡°ì íì¸ì.