chore: baseline V8.10.0-dev.1 with v8_workflows type-mapping fix and trade-pro spec

- SiteForge Enterprise V8.10.0-dev.1 upstream source (210 tests)
- Fix: v8_workflows._mapped_input now reads both 类型/分类 columns so WXR
  imports keep post/product types instead of collapsing to page
- Docs: trade-pro theme port spec (R3) and implementation plan

Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
浅念
2026-10-22 16:49:25 +08:00
commit 8cea7dee20
354 changed files with 20736 additions and 0 deletions
@@ -0,0 +1,38 @@
{
"id": "automotive",
"name": "汽车与出行",
"description": "深蓝色与暖金点缀,大图汽车、车型展示",
"version": "0.3.0",
"style": "luxury",
"entry": "site.html",
"styles": [
"theme.css",
"blocks.css"
],
"page_templates": [
"home",
"about",
"contact",
"listing",
"product",
"article",
"brand",
"standard",
"notfound"
],
"blocks": [
"hero",
"richtext",
"features",
"stats",
"collection",
"image_text",
"gallery",
"faq",
"cta",
"attributes",
"spacer"
],
"responsive": true,
"auto_binding": true
}
@@ -0,0 +1,245 @@
{
"home": [
{
"id": "ff2755fabe",
"type": "hero",
"visible": true,
"title": "探索全球汽车新可能",
"subtitle": "THE WORLD OF MOBILITY",
"description": "{{site.tagline}}",
"button": "浏览车型",
"href": "/product/",
"align": "left"
},
{
"id": "f997b5975c",
"type": "collection",
"visible": true,
"title": "精选车型",
"subtitle": "EXPLORE OUR COLLECTION",
"source": "product",
"limit": 6,
"columns": 3,
"button": "查看全部",
"href": "/product/"
},
{
"id": "b79e9bdeee",
"type": "stats",
"visible": true,
"title": "值得信赖的服务",
"items": [
{
"value": "50,000+",
"label": "服务案例"
},
{
"value": "70+",
"label": "市场覆盖"
},
{
"value": "30+",
"label": "合作伙伴"
}
]
},
{
"id": "fd3475d4a9",
"type": "image_text",
"visible": true,
"title": "专业采购与全球交付",
"subtitle": "GLOBAL DELIVERY",
"description": "为海外市场提供适合的汽车采购与服务解决方案。",
"image": "",
"image_side": "right",
"button": "了解更多",
"href": "/about/"
},
{
"id": "5f159c1114",
"type": "cta",
"visible": true,
"title": "开启下一次合作",
"subtitle": "告诉我们您的需求,我们将提供适合的方案。",
"button": "联系我们",
"href": "/contact/"
}
],
"about": [
{
"id": "3b57a5c80a",
"type": "image_text",
"visible": true,
"title": "认识我们",
"subtitle": "OUR APPROACH",
"description": "展示业务流程和服务理念。",
"image": "",
"image_side": "right",
"button": "了解更多",
"href": "/about/"
},
{
"id": "c7aaebcbc8",
"type": "stats",
"visible": true,
"title": "我们的实力",
"items": [
{
"value": "50,000+",
"label": "服务案例"
},
{
"value": "70+",
"label": "市场覆盖"
},
{
"value": "30+",
"label": "合作伙伴"
}
]
},
{
"id": "f0d35431bc",
"type": "features",
"visible": true,
"title": "我们的优势",
"items": [
{
"title": "专业服务",
"text": "从咨询到交付"
},
{
"title": "品质保障",
"text": "严格的质量流程"
},
{
"title": "全球网络",
"text": "连接不同市场"
}
]
}
],
"contact": [
{
"id": "a21100b5fd",
"type": "richtext",
"visible": true,
"title": "联系我们",
"body": "<p>请填写企业联系方式与地址。</p>"
},
{
"id": "360304f1f1",
"type": "cta",
"visible": true,
"title": "欢迎联系",
"subtitle": "告诉我们您的需求,我们将提供适合的方案。",
"button": "联系我们",
"href": "/contact/"
}
],
"listing": [
{
"id": "e8c990ef8b",
"type": "collection",
"visible": true,
"title": "所有在售车型",
"subtitle": "为客户提供适合的解决方案",
"source": "product",
"limit": 24,
"columns": 3,
"button": "查看全部",
"href": "/product/"
}
],
"product": [
{
"id": "7dfe1376b0",
"type": "image_text",
"visible": true,
"title": "产品介绍",
"subtitle": "OUR APPROACH",
"description": "{{page.summary}}",
"image": "{{page.cover}}",
"image_side": "right",
"button": "了解更多",
"href": "/about/"
},
{
"id": "c3a67474f4",
"type": "attributes",
"visible": true,
"title": "产品规格与参数"
},
{
"id": "29b39f194a",
"type": "richtext",
"visible": true,
"title": "产品详情",
"body": "{{page.body}}"
},
{
"id": "70d24b5293",
"type": "cta",
"visible": true,
"title": "开启新的合作",
"subtitle": "告诉我们您的需求,我们将提供适合的方案。",
"button": "联系我们",
"href": "/contact/"
}
],
"article": [
{
"id": "f283231732",
"type": "richtext",
"visible": true,
"title": "{{page.title}}",
"body": "{{page.body}}"
}
],
"brand": [
{
"id": "e08f6ad68f",
"type": "image_text",
"visible": true,
"title": "{{page.title}}",
"subtitle": "OUR APPROACH",
"description": "{{page.summary}}",
"image": "{{page.cover}}",
"image_side": "right",
"button": "了解更多",
"href": "/about/"
},
{
"id": "0f3689e9f0",
"type": "collection",
"visible": true,
"title": "品牌产品",
"subtitle": "为客户提供适合的解决方案",
"source": "product",
"limit": 6,
"columns": 3,
"button": "查看全部",
"href": "/product/"
}
],
"standard": [
{
"id": "d47d90fe91",
"type": "richtext",
"visible": true,
"title": "{{page.title}}",
"body": "{{page.body}}"
}
],
"notfound": [
{
"id": "8b39fc46a4",
"type": "cta",
"visible": true,
"title": "页面暂时无法访问",
"subtitle": "告诉我们您的需求,我们将提供适合的方案。",
"button": "返回首页",
"href": "/"
}
]
}
@@ -0,0 +1,13 @@
<!doctype html><html lang="zh-CN"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><base href="/"><title>{{seo_title}}</title><meta name="description" content="{{seo_description}}"><meta name="robots" content="{{'noindex,follow' if mode=='notfound' else (page.robots or 'index,follow')}}">{% if canonical %}<link rel="canonical" href="{{canonical}}">{% endif %}<link rel="stylesheet" href="assets/theme.css"><link rel="stylesheet" href="assets/blocks.css"><link rel="stylesheet" href="assets/custom.css"></head><body>
<div class="utility"><span>GLOBAL SOURCING · GLOBAL DELIVERY</span><span>SiteForge Automotive Collection</span></div>
<header class="header"><a class="brand" href="./"><span class="mark">S.</span><span>{{site.name}}<small>AUTO & MOBILITY</small></span></a><nav><a href="./">Home</a>{% for n in nav if n.route!='/' %}<a href="{{link(n.route)}}">{{n.title}}</a>{% endfor %}{% if entries | selectattr('type','equalto','product') | list %}<a href="product/">Vehicles</a>{% endif %}{% if entries | selectattr('type','equalto','post') | list %}<a href="post/">News</a>{% endif %}</nav><a href="mailto:{{site.email or "info@example.com"}}" class="nav-cta">GET IN TOUCH ↗</a></header>
{% if blueprint_mode %}{% elif mode=='home' %}<section class="hero"><div class="hero-inner"><div class="hero-copy"><span class="eyebrow"><span class="glow"></span> GLOBAL AUTOMOTIVE NETWORK</span><h1>{{page.title if page.title!=site.name else 'MOVE BEYOND'}}</h1><p>{{page.summary or site.tagline or 'Discover global mobility and automotive supply solutions.'}}</p><div class="hero-actions"><a href="product/" class="btn">EXPLORE OUR FLEET <span>↗</span></a><span class="hero-hint">Built for the road ahead.</span></div></div><div class="hero-visual">{% if page.cover %}<img src="{{asset(page.cover)}}" alt="{{page.title}}">{% else %}<div class="car-shape"><div class="car-glow"></div><div class="car-body"></div><div class="wheel wheel-one"></div><div class="wheel wheel-two"></div></div>{% endif %}<div class="hero-no">01 / EXPLORE</div></div></div><div class="hero-bottom"><span>DISCOVER MORE</span><span>QUALITY · TRUST · WORLDWIDE</span><span>↓</span></div></section>
{% elif mode=='listing' %}<section class="inner-hero"><span class="eyebrow">THE COLLECTION</span><h1>{{page.title}}</h1><p>{{page.summary}}</p></section>
{% elif mode=='notfound' %}<section class="inner-hero"><h1>404</h1><p>We couldn't find that page.</p></section>
{% else %}<section class="inner-hero"><span class="eyebrow">{{type_names.get(page.type,'PAGE')|upper}} / THE DETAILS</span><h1>{{page.title}}</h1><p>{{page.summary}}</p></section>{% endif %}
{% if blueprint_mode %}<main class="sf-canvas">{{blocks}}</main>{% else %}<main class="main"><div class="container">{% if mode in ['detail','home'] and (content or blocks) %}<article class="rich-content">{{blocks}}{{content}}</article>{% endif %}
{% if mode=='detail' and page.cover %}<div class="detail-media"><img src="{{asset(page.cover)}}" alt="{{page.title}}"></div>{% endif %}
{% if mode=='listing' %}<div class="section-title"><span>THE SELECTION</span><h2>Explore the collection</h2></div><div class="card-grid">{% for item in listing_items %}<a class="model-card" href="{{link(item.route)}}"><div class="card-visual">{% if item.cover %}<img src="{{asset(item.cover)}}" alt="{{item.title}}">{% else %}<span class="card-monogram">{{item.title[:2]|upper}}</span>{% endif %}</div><div class="card-copy"><span>{{type_names.get(item.type,'ITEM')}}</span><h3>{{item.title}}</h3><p>{{item.summary|truncate(95)}}</p><b>DISCOVER ↗</b></div></a>{% endfor %}</div>{% endif %}
{% if mode=='home' %}{% set showcase=entries|selectattr('type','equalto','product')|list %}{% if showcase %}<div class="section-title"><span>CURATED MOBILITY</span><h2>Featured Vehicles</h2><a href="product/">VIEW COLLECTION ↗</a></div><div class="card-grid">{% for item in showcase[:6] %}<a class="model-card" href="{{link(item.route)}}"><div class="card-visual">{% if item.cover %}<img src="{{asset(item.cover)}}" alt="{{item.title}}">{% else %}<span class="card-monogram">{{item.title[:2]|upper}}</span>{% endif %}</div><div class="card-copy"><span>VEHICLE</span><h3>{{item.title}}</h3><p>{{item.summary|truncate(105)}}</p><b>VIEW DETAILS ↗</b></div></a>{% endfor %}</div>{% endif %}{% endif %}
</div></main>
{% endif %}<footer><div><div class="footer-brand">{{site.name}}<span> · GLOBAL MOBILITY</span></div><p>{{site.tagline}}</p></div><div class="footer-bottom"><span>© {{site.name}}</span><span>BUILT FOR TOMORROW · POWERED BY SITEFORGE</span></div></footer></body></html>
File diff suppressed because one or more lines are too long