070959e133
landing-page-staging / Deploy landing page to staging (push) Has been skipped
landing-page-ci / Validate landing page (push) Failing after 4s
visual-baseline / Capture visual baselines (push) Has been cancelled
bake-plugin-previews / Bake plugin previews (push) Has been cancelled
249 lines
13 KiB
JSON
249 lines
13 KiB
JSON
{
|
||
"$schema": "https://open-design.ai/schemas/plugin.v1.json",
|
||
"specVersion": "1.0.0",
|
||
"name": "example-waitlist-page",
|
||
"title": "Waitlist Page",
|
||
"title_i18n": {
|
||
"zh-CN": "等候列表页面",
|
||
"zh-TW": "候補名單頁面",
|
||
"ja": "ウェイトリストページ",
|
||
"ko": "대기자 명단 페이지",
|
||
"de": "Wartelisten-Seite",
|
||
"fr": "Page de liste d'attente",
|
||
"ru": "Страница списка ожидания",
|
||
"es": "Página de lista de espera",
|
||
"pt-BR": "Página de lista de espera",
|
||
"it": "Pagina lista d'attesa",
|
||
"vi": "Trang danh sách chờ",
|
||
"pl": "Strona listy oczekujących",
|
||
"id": "Halaman Daftar Tunggu",
|
||
"nl": "Wachtlijstpagina",
|
||
"ar": "صفحة قائمة الانتظار",
|
||
"tr": "Bekleme Listesi Sayfası",
|
||
"uk": "Сторінка списку очікування",
|
||
"en": "Waitlist Page"
|
||
},
|
||
"version": "0.1.0",
|
||
"description": "Minimal pre-launch landing with email capture, brand logo, and optional decorative layer. Reads DESIGN.md for colors, typography, and layout rules. Best for: product launches, beta signups, early access programs, indie projects.",
|
||
"description_i18n": {
|
||
"zh-CN": "简约的预发布落地页,支持邮箱收集、品牌logo和可选装饰层。从 DESIGN.md 读取颜色、排版和布局规则。适用于产品发布、Beta 测试注册、抢先体验计划和独立项目。",
|
||
"zh-TW": "簡約的預發布著陸頁,支援電子郵件收集、品牌標誌和可選裝飾層。從 DESIGN.md 讀取顏色、排版和佈局規則。適用於產品發布、Beta 測試註冊、搶先體驗計畫和獨立專案。",
|
||
"ja": "メールアドレス収集、ブランドロゴ、オプションの装飾レイヤーを備えたミニマルなプレローンチランディングページ。DESIGN.md から配色、タイポグラフィ、レイアウトルールを読み込みます。製品ローンチ、ベータサインアップ、早期アクセスプログラム、インディープロジェクトに最適。",
|
||
"ko": "이메일 수집, 브랜드 로고, 선택적 장식 레이어가 포함된 미니멀한 사전 출시 랜딩 페이지. DESIGN.md에서 색상, 타이포그래피, 레이아웃 규칙을 읽어옵니다. 제품 출시, 베타 가입, 얼리 액세스 프로그램, 인디 프로젝트에 적합합니다.",
|
||
"de": "Minimalistische Pre-Launch-Landingpage mit E-Mail-Erfassung, Markenlogo und optionaler Dekorationsebene. Liest Farben, Typografie und Layout-Regeln aus DESIGN.md. Ideal für Produkteinführungen, Beta-Anmeldungen, Early-Access-Programme und Indie-Projekte.",
|
||
"fr": "Page de destination minimaliste avant lancement avec capture d'e-mails, logo de marque et couche décorative optionnelle. Lit les couleurs, la typographie et les règles de mise en page depuis DESIGN.md. Idéal pour les lancements de produits, inscriptions bêta, programmes d'accès anticipé et projets indépendants.",
|
||
"ru": "Минималистичная предзапускная страница с захватом email, логотипом бренда и опциональным декоративным слоем. Считывает цвета, типографику и правила компоновки из DESIGN.md. Подходит для запуска продуктов, регистрации на бета-тестирование, программ раннего доступа и инди-проектов.",
|
||
"es": "Página de destino minimalista prelanzamiento con captura de correos, logo de marca y capa decorativa opcional. Lee colores, tipografía y reglas de diseño desde DESIGN.md. Ideal para lanzamientos de productos, registros beta, programas de acceso anticipado y proyectos independientes.",
|
||
"pt-BR": "Landing page minimalista de pré-lançamento com captura de e-mail, logo da marca e camada decorativa opcional. Lê cores, tipografia e regras de layout do DESIGN.md. Ideal para lançamentos de produtos, inscrições beta, programas de acesso antecipado e projetos independentes.",
|
||
"it": "Landing page minimalista pre-lancio con acquisizione email, logo del brand e livello decorativo opzionale. Legge colori, tipografia e regole di layout da DESIGN.md. Perfetta per lanci di prodotti, iscrizioni beta, programmi di accesso anticipato e progetti indipendenti.",
|
||
"vi": "Trang đích tiền ra mắt tối giản với thu thập email, logo thương hiệu và lớp trang trí tùy chọn. Đọc màu sắc, kiểu chữ và quy tắc bố cục từ DESIGN.md. Phù hợp cho ra mắt sản phẩm, đăng ký beta, chương trình truy cập sớm và dự án độc lập.",
|
||
"pl": "Minimalistyczna strona docelowa przed premierą z przechwytywaniem e-maili, logo marki i opcjonalną warstwą dekoracyjną. Odczytuje kolory, typografię i reguły układu z DESIGN.md. Idealna do premier produktów, zapisów na wersje beta, programów wczesnego dostępu i projektów niezależnych.",
|
||
"id": "Landing page pra-peluncuran minimal dengan pengambilan email, logo merek, dan lapisan dekoratif opsional. Membaca warna, tipografi, dan aturan tata letak dari DESIGN.md. Cocok untuk peluncuran produk, pendaftaran beta, program akses awal, dan proyek indie.",
|
||
"nl": "Minimalistische pre-launch landingspagina met e-mailcaptuur, merklogo en optionele decoratieve laag. Leest kleuren, typografie en lay-outregels uit DESIGN.md. Ideaal voor productlanceringen, bèta-aanmeldingen, vroege toegangsprogramma's en indie-projecten.",
|
||
"ar": "صفحة هبوط بسيطة قبل الإطلاق مع التقاط البريد الإلكتروني وشعار العلامة التجارية وطبقة زخرفية اختيارية. تقرأ الألوان والطباعة وقواعد التخطيط من DESIGN.md. مثالية لإطلاق المنتجات وتسجيلات البيتا وبرامج الوصول المبكر والمشاريع المستقلة.",
|
||
"tr": "E-posta toplama, marka logosu ve isteğe bağlı dekoratif katman içeren minimalist ön lansman açılış sayfası. DESIGN.md'den renkleri, tipoğrafiyi ve düzen kurallarını okur. Ürün lansmanları, beta kayıtları, erken erişim programları ve bağımsız projeler için idealdir.",
|
||
"uk": "Мінімалістична передзапускова цільова сторінка із захопленням електронної пошти, логотипом бренду та опціональним декоративним шаром. Зчитує кольори, типографіку та правила компонування з DESIGN.md. Підходить для запуску продуктів, реєстрації на бета-тестування, програм раннього доступу та інді-проектів.",
|
||
"en": "Minimal pre-launch landing with email capture, brand logo, and optional decorative layer. Reads DESIGN.md for colors, typography, and layout rules. Best for: product launches, beta signups, early access programs, indie projects."
|
||
},
|
||
"license": "MIT",
|
||
"author": {
|
||
"name": "Open Design",
|
||
"url": "https://github.com/nexu-io"
|
||
},
|
||
"homepage": "https://github.com/nexu-io/open-design/tree/main/plugins/_official/examples/waitlist-page",
|
||
"tags": [
|
||
"example",
|
||
"first-party",
|
||
"prototype",
|
||
"marketing",
|
||
"web",
|
||
"desktop",
|
||
"waitlist-page",
|
||
"coming-soon-page",
|
||
"pre-launch-landing-page",
|
||
"email-capture-page",
|
||
"launch-page"
|
||
],
|
||
"compat": {
|
||
"agentSkills": [
|
||
{
|
||
"path": "./SKILL.md"
|
||
}
|
||
]
|
||
},
|
||
"od": {
|
||
"kind": "scenario",
|
||
"taskKind": "new-generation",
|
||
"mode": "prototype",
|
||
"platform": "desktop",
|
||
"scenario": "marketing",
|
||
"surface": "web",
|
||
"preview": {
|
||
"type": "html",
|
||
"entry": "./example.html"
|
||
},
|
||
"useCase": {
|
||
"query": {
|
||
"en": "Make a waitlist page for a design tool — clean, minimal, with a custom logo and one call-to-action.",
|
||
"zh-CN": "使用这个插件完成以下任务:Make a waitlist page for a design tool — clean, minimal, with a custom logo and one call-to-action."
|
||
},
|
||
"exampleOutputs": [
|
||
{
|
||
"path": "./example.html",
|
||
"title": "Waitlist Page"
|
||
}
|
||
]
|
||
},
|
||
"inputs": [
|
||
{
|
||
"name": "product_name",
|
||
"type": "string",
|
||
"required": true
|
||
},
|
||
{
|
||
"name": "tagline",
|
||
"type": "string",
|
||
"required": true
|
||
},
|
||
{
|
||
"name": "bg_expression",
|
||
"type": "string",
|
||
"description": "CSS color expression for background (e.g., '#FDE8DF' or 'rgba(...)').",
|
||
"required": true
|
||
},
|
||
{
|
||
"name": "fg_expression",
|
||
"type": "string",
|
||
"description": "CSS color expression for text and primary shapes (e.g., '#1A1410' or 'rgba(...)').",
|
||
"required": true
|
||
},
|
||
{
|
||
"name": "accent_expression",
|
||
"type": "string",
|
||
"description": "CSS color expression for brand badge and highlights.",
|
||
"required": true
|
||
},
|
||
{
|
||
"name": "deco_expression",
|
||
"type": "string",
|
||
"description": "CSS color expression for decoration primary.",
|
||
"required": true
|
||
},
|
||
{
|
||
"name": "stripe_expression",
|
||
"type": "string",
|
||
"description": "CSS color expression for accent stripe.",
|
||
"required": true
|
||
},
|
||
{
|
||
"name": "border_expression",
|
||
"type": "string",
|
||
"description": "CSS color expression for input borders (e.g., 'rgba(100,50,30,0.38)' or 'color-mix(in srgb, var(--fg) 38%, transparent)'). Must be valid CSS.",
|
||
"required": true
|
||
},
|
||
{
|
||
"name": "success_expression",
|
||
"type": "string",
|
||
"description": "CSS color expression for success message. Defaults to #2D6A4F if not in DESIGN.md.",
|
||
"required": true
|
||
},
|
||
{
|
||
"name": "btn_label_expression",
|
||
"type": "string",
|
||
"description": "CSS color expression for button label text (e.g., 'rgba(255,255,255,1)' or '#fff'). Ensure WCAG AA contrast.",
|
||
"required": true
|
||
},
|
||
{
|
||
"name": "ticker_bg_expression",
|
||
"type": "string",
|
||
"description": "CSS color expression for ticker background (e.g., 'rgba(0,0,0,0.9)'). Must be valid CSS.",
|
||
"required": true
|
||
},
|
||
{
|
||
"name": "ticker_fg_expression",
|
||
"type": "string",
|
||
"description": "CSS color expression for ticker text (e.g., 'rgba(255,255,255,0.9)'). Ensure contrast.",
|
||
"required": true
|
||
},
|
||
{
|
||
"name": "deco_stroke_expression",
|
||
"type": "string",
|
||
"description": "CSS color expression for SVG strokes (e.g., 'rgba(0,0,0,0.12)'). Typically a muted foreground or neutral.",
|
||
"required": true
|
||
},
|
||
{
|
||
"name": "logo_shadow_expression",
|
||
"type": "string",
|
||
"description": "CSS color expression for logo container shadow (e.g., 'rgba(0,0,0,0.08)'). Typically a subtle foreground shade.",
|
||
"required": true
|
||
},
|
||
{
|
||
"name": "logo_fg_expression",
|
||
"type": "string",
|
||
"description": "CSS color expression for logo text/initials (e.g., 'rgba(255,255,255,1)' or '#fff'). Ensure contrast against accent.",
|
||
"required": true
|
||
},
|
||
{
|
||
"name": "logo_mark",
|
||
"type": "string",
|
||
"description": "Text initials are HTML-escaped by default. Inline SVG is allowed only after strict allowlist-based sanitization (removing scripts, event handlers, foreignObject, and external references); unsafe input falls back to escaped text.",
|
||
"required": false
|
||
},
|
||
{
|
||
"name": "display_font_url",
|
||
"type": "string",
|
||
"description": "Display font name with spaces encoded as '+' (e.g., 'Syne', 'DM+Sans'). Used in Google Fonts URL.",
|
||
"required": true
|
||
},
|
||
{
|
||
"name": "display_font_css",
|
||
"type": "string",
|
||
"description": "Display font name as it appears in CSS (e.g., 'Syne', 'DM Sans'). Already quoted if needed; no extra quotes in template.",
|
||
"required": true
|
||
},
|
||
{
|
||
"name": "body_font_url",
|
||
"type": "string",
|
||
"description": "Body font name with spaces encoded as '+' (e.g., 'DM+Sans', 'IBM+Plex+Serif'). Used in Google Fonts URL.",
|
||
"required": true
|
||
},
|
||
{
|
||
"name": "body_font_css",
|
||
"type": "string",
|
||
"description": "Body font name as it appears in CSS (e.g., 'DM Sans', 'IBM Plex Serif'). Already quoted if needed; no extra quotes in template.",
|
||
"required": true
|
||
}
|
||
],
|
||
"context": {
|
||
"skills": [
|
||
{
|
||
"path": "./SKILL.md"
|
||
}
|
||
],
|
||
"designSystem": {
|
||
"primary": true
|
||
},
|
||
"assets": [
|
||
"./example.html",
|
||
"./assets/template.html",
|
||
"./references/checklist.md"
|
||
]
|
||
},
|
||
"pipeline": {
|
||
"stages": [
|
||
{
|
||
"id": "generate",
|
||
"atoms": [
|
||
"file-write",
|
||
"live-artifact"
|
||
]
|
||
}
|
||
]
|
||
},
|
||
"capabilities": [
|
||
"prompt:inject",
|
||
"fs:write"
|
||
]
|
||
}
|
||
}
|