#์คํฌ๋ฆฐ์ท ์ ๋๋ ์ดํฐ (๋ก์ปฌ ์ ์ฉ)
๋ผ์ฐํธ:
/{locale}/{product}/screenshots-generator
์ด ํ์ด์ง๋ ๊ฐ๋ฐ ํ๊ฒฝ ์ ์ฉ(NODE_ENV=development)์ด๋ฉฐ, ํ๋ก๋์
์์๋ 404๋ฅผ ๋ฐํํฉ๋๋ค.
#์์ค ์ด๋ฏธ์ง ๋๋ ํ ๋ฆฌ
์ ๋๋ ์ดํฐ๋ ์๋ ๊ฒฝ๋ก์์ ์์ค ์ด๋ฏธ์ง๋ฅผ ์ฝ์ต๋๋ค.
public/products/{slug}/raw-screenshots/{locale}/phonepublic/products/{slug}/raw-screenshots/{locale}/tablet
์์:
public/products/aurora-eos/raw-screenshots/en-US/phone/home.pngpublic/products/aurora-eos/raw-screenshots/en-US/tablet/home.png
๊ถ์ฅ ํ์ผ๋ช :
home.pngcapture.pnginsights.pngshared.pngcustomize.pngreminder.png
#ํ๋ก๋ํธ๋ณ ์ปค์คํฐ๋ง์ด์ง
ํ๋ก๋ํธ๋ณ๋ก ๋ฌธ๊ตฌ/ํ ๋ง๋ฅผ ๋ถ๋ฆฌํ๋ ค๋ฉด ์๋ ํ์ผ์ ์์ฑํฉ๋๋ค.
public/products/{slug}/raw-screenshots/screenshot-generator.config.json
๋ก์ผ์ผ๋ณ ์คํฌ๋ฆฐ์ท ๋ฌธ๊ตฌ๋ง ๋ถ๋ฆฌํ๋ ค๋ฉด ์๋ ํ์ผ์ ์ถ๊ฐํฉ๋๋ค.
public/products/{slug}/raw-screenshots/{locale}/screenshot-generator.json
~/.config/pabal-mcp/registered-apps.json์ ๋ฑ๋ก๋ App Store / Google Play ์ง์ ์ธ์ด ๊ธฐ์ค์ผ๋ก
๋ก์ผ์ผ ์
๋ ฅ ํด๋๋ฅผ ๋ง์ถ๊ณ ์ต์ข
์คํฌ๋ฆฐ์ท PNG๊น์ง ์์ฑํ๋ ค๋ฉด ์๋ ๋ช
๋ น ํ๋๋ง ์คํํฉ๋๋ค.
yarn screenshots:generate
๋ช
๋ น์ ์คํํ๋ฉด public/products ์์ ์ฑ ๋ชฉ๋ก์ด ํ์๋๊ณ , ๋ฒํธ๋ก ์์ฑํ ์ฑ์ ์ ํํ ์ ์์ต๋๋ค.
slug๋ฅผ ๋ฐ๋ก ์ง์ ํ ์๋ ์์ต๋๋ค.
yarn screenshots:generate pabal
์ด ๋ช
๋ น์ ๋จผ์ raw-screenshots/{locale}/phone, raw-screenshots/{locale}/tablet
์
๋ ฅ ํด๋๋ฅผ ์ค๋นํฉ๋๋ค. ๊ธฐ์กด screenshot-generator.json ๋ฌธ๊ตฌ ํ์ผ์ ์์ ํ์ง ์์ต๋๋ค.
๊ทธ๋ค์ ๋ด๋ถ Next dev ์๋ฒ์ Playwright ๋ธ๋ผ์ฐ์ ๋ฅผ ์์๋ก ๋์ ๋ก์ปฌ ์ ๋๋ ์ดํฐ UI์ ๊ฐ์
React/html-to-image ๋ ๋๋ง ๊ฒฐ๊ณผ๋ฅผ ์๋ ๊ฒฝ๋ก์ ์ ์ฅํฉ๋๋ค. ์ฌ์ฉ์๊ฐ ์ง์ localhost๋ฅผ ์ด ํ์๋ ์์ต๋๋ค.
public/products/{slug}/screenshots/{locale}/phone/1.pngpublic/products/{slug}/screenshots/{locale}/tablet/1.pngpublic/products/{slug}/screenshots/{locale}/feature-graphic.png
์์ ์ค์ :
{
"title": "Aurora EOS App Store Screenshots",
"subtitle": "Localized marketing screenshots for weather intelligence",
"statusLabel": "Export Status",
"accentGradient": "linear-gradient(120deg, #0f172a 0%, #134e4a 55%, #0ea5e9 100%)",
"theme": {
"backgroundStart": "#0b1220",
"backgroundEnd": "#12263a",
"panel": "rgba(255,255,255,0.9)",
"textPrimary": "#f8fafc",
"textSecondary": "#cbd5e1",
"accent": "#22c55e"
},
"slides": [
{
"fileName": "home.png",
"headline": "Know tomorrow's aurora chance"
},
{
"fileName": "capture.png",
"headline": "Track Kp, cloud cover, and visibility"
}
],
"tabletSlides": [
{
"fileName": "home.png",
"headline": "Know tomorrow's aurora chance"
},
{
"fileName": "capture.png",
"headline": "Track Kp, cloud cover, and visibility"
},
{
"fileName": "insights.png",
"headline": "Plan the night from a wider view"
}
]
}
๋ก์ผ์ผ๋ณ ๋ฌธ๊ตฌ ์์:
{
"title": "Post Black Belt: ์ฃผ์ง์ ์ผ์ง",
"subtitle": "์ฃผ์ง์ ๊ธฐ๋ก & ๋ฒจํธ ํธ๋์ปค",
"slides": [
{
"fileName": "home.png",
"headline": "ํ๋ จ ํ ๋ค์์ ๋ฌด์์ ์ฐ์ตํ ์ง ๋ฐ๋ก ํ์ธ",
"subheadline": "์์
ํ ๋ค์ ๋จ๊ณ๋ฅผ ๋ฐ๋ก ํ์ธํ์ธ์."
}
],
"tabletSlides": [
{
"fileName": "home.png",
"headline": "ํ๋ จ ํ๋ฆ์ ํฐ ํ๋ฉด์์ ๋ณด๊ธฐ",
"subheadline": "ํ๋ธ๋ฆฟ ์คํฌ๋ฆฐ์ท์ ๋ณดํต 3๊ฐ๋ง ์ฌ์ฉํฉ๋๋ค."
}
]
}
#์ฐธ๊ณ
slides๋ฅผ ์๋ตํ๋ฉด ํ์ผ๋ช ๊ธฐ์ค์ผ๋ก ์๋ ์ฌ๋ผ์ด๋ ๋ผ๋ฒจ์ด ์์ฑ๋ฉ๋๋ค.tabletSlides๋ฅผ ์ถ๊ฐํ๋ฉด iPad ์์ฑ์์๋ง ํด๋น ๋ฌธ๊ตฌ/ํ์ผ๋ช ์ ์ฌ์ฉํฉ๋๋ค. ๊ธฐ๋ณธ ์์ฑ ์คํฌ๋ฆฝํธ๋ ํ๋ธ๋ฆฟ์ฉ ๋ฐ์ดํฐ๋ฅผ 3๊ฐ๋ก ์์ฑํฉ๋๋ค.slides๋ฅผ ์๋ตํ๋ฉด ์๋ ์์๋ฅผ ์ฐ์ ์ฌ์ฉํฉ๋๋ค:home.png,capture.png,insights.png,shared.png,customize.png,reminder.png.screenshots:generate๋ ๊ธฐ์กดscreenshot-generator.json๋ฌธ๊ตฌ๋ฅผ ์๋์ผ๋ก ๋ฎ์ด์ฐ์ง ์์ต๋๋ค.- ํด๋น ๋ก์ผ์ผ ํด๋์ ํ์ผ์ด ์์ผ๋ฉด ๊ธฐ๋ณธ ๋ก์ผ์ผ, ์ดํ
config.json์ screenshot metadata ์์๋ก fallback ๋ฉ๋๋ค. - ๋ก์ปฌ ์ ๋๋ ์ดํฐ UI๋ ๊ฐ๋ฐ ์ค ๋ฏธ๋ฆฌ๋ณด๊ธฐ/์๋ ๋ด๋ณด๋ด๊ธฐ์ฉ์ด๊ณ ,
yarn screenshots:generate๋ ๊ฐ์ UI๋ฅผ ๋ด๋ถ ๋ธ๋ผ์ฐ์ ์์ ์๋ ์บก์ฒํด PNG ํ์ผ์ ์์ฑํฉ๋๋ค.