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": "corporate",
"name": "企业品牌",
"description": "明亮的蓝紫色,集团介绍与服务展示",
"version": "0.3.0",
"style": "corporate",
"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": "c7aac2a0c9",
"type": "hero",
"visible": true,
"title": "连接资源,创造价值",
"subtitle": "BUILDING WHAT IS NEXT",
"description": "{{site.tagline}}",
"button": "认识我们",
"href": "/about/",
"align": "left"
},
{
"id": "e26e908d07",
"type": "image_text",
"visible": true,
"title": "值得信赖的全球合作伙伴",
"subtitle": "OUR MISSION",
"description": "展示业务流程和服务理念。",
"image": "",
"image_side": "right",
"button": "了解更多",
"href": "/about/"
},
{
"id": "df60bf30f1",
"type": "stats",
"visible": true,
"title": "持续发展的组织",
"items": [
{
"value": "50,000+",
"label": "服务案例"
},
{
"value": "70+",
"label": "市场覆盖"
},
{
"value": "30+",
"label": "合作伙伴"
}
]
},
{
"id": "13cbd2547e",
"type": "collection",
"visible": true,
"title": "产品与解决方案",
"subtitle": "WHAT WE DO",
"source": "service",
"limit": 6,
"columns": 3,
"button": "查看全部",
"href": "/product/"
},
{
"id": "452422710f",
"type": "cta",
"visible": true,
"title": "共同探索更多可能",
"subtitle": "告诉我们您的需求,我们将提供适合的方案。",
"button": "联系我们",
"href": "/contact/"
}
],
"about": [
{
"id": "bfc7b47ec0",
"type": "image_text",
"visible": true,
"title": "认识我们",
"subtitle": "OUR APPROACH",
"description": "展示业务流程和服务理念。",
"image": "",
"image_side": "right",
"button": "了解更多",
"href": "/about/"
},
{
"id": "ce5473bd68",
"type": "stats",
"visible": true,
"title": "我们的实力",
"items": [
{
"value": "50,000+",
"label": "服务案例"
},
{
"value": "70+",
"label": "市场覆盖"
},
{
"value": "30+",
"label": "合作伙伴"
}
]
},
{
"id": "a617ad837e",
"type": "features",
"visible": true,
"title": "我们的优势",
"items": [
{
"title": "专业服务",
"text": "从咨询到交付"
},
{
"title": "品质保障",
"text": "严格的质量流程"
},
{
"title": "全球网络",
"text": "连接不同市场"
}
]
}
],
"contact": [
{
"id": "136e741f39",
"type": "richtext",
"visible": true,
"title": "联系我们",
"body": "<p>请填写企业联系方式与地址。</p>"
},
{
"id": "999ad7d7e2",
"type": "cta",
"visible": true,
"title": "欢迎联系",
"subtitle": "告诉我们您的需求,我们将提供适合的方案。",
"button": "联系我们",
"href": "/contact/"
}
],
"listing": [
{
"id": "5ef3038c4a",
"type": "collection",
"visible": true,
"title": "所有产品",
"subtitle": "为客户提供适合的解决方案",
"source": "product",
"limit": 24,
"columns": 3,
"button": "查看全部",
"href": "/product/"
}
],
"product": [
{
"id": "34abe3c838",
"type": "image_text",
"visible": true,
"title": "产品介绍",
"subtitle": "OUR APPROACH",
"description": "{{page.summary}}",
"image": "{{page.cover}}",
"image_side": "right",
"button": "了解更多",
"href": "/about/"
},
{
"id": "159ea63c47",
"type": "attributes",
"visible": true,
"title": "产品规格与参数"
},
{
"id": "2b117d9f64",
"type": "richtext",
"visible": true,
"title": "产品详情",
"body": "{{page.body}}"
},
{
"id": "5fc378724c",
"type": "cta",
"visible": true,
"title": "开启新的合作",
"subtitle": "告诉我们您的需求,我们将提供适合的方案。",
"button": "联系我们",
"href": "/contact/"
}
],
"article": [
{
"id": "6f2c9d6c13",
"type": "richtext",
"visible": true,
"title": "{{page.title}}",
"body": "{{page.body}}"
}
],
"brand": [
{
"id": "b838559db3",
"type": "image_text",
"visible": true,
"title": "{{page.title}}",
"subtitle": "OUR APPROACH",
"description": "{{page.summary}}",
"image": "{{page.cover}}",
"image_side": "right",
"button": "了解更多",
"href": "/about/"
},
{
"id": "44408e8e94",
"type": "collection",
"visible": true,
"title": "品牌产品",
"subtitle": "为客户提供适合的解决方案",
"source": "product",
"limit": 6,
"columns": 3,
"button": "查看全部",
"href": "/product/"
}
],
"standard": [
{
"id": "a0b2329d83",
"type": "richtext",
"visible": true,
"title": "{{page.title}}",
"body": "{{page.body}}"
}
],
"notfound": [
{
"id": "8dda5dc286",
"type": "cta",
"visible": true,
"title": "页面暂时无法访问",
"subtitle": "告诉我们您的需求,我们将提供适合的方案。",
"button": "返回首页",
"href": "/"
}
]
}
+12
View File
@@ -0,0 +1,12 @@
<!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="announcement">A PARTNER FOR WHAT'S NEXT <span>→</span> {{site.tagline or 'Think big. Go further.'}}</div>
<header class="shell header"><a href="./" class="logo"><span class="logo-box">✦</span>{{site.name}}</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/">Solutions</a>{% endif %}{% if entries|selectattr('type','equalto','post')|list %}<a href="post/">Insights</a>{% endif %}</nav><a class="nav-btn" href="mailto:{{site.email or "info@example.com"}}">Let's Talk <span>↗</span></a></header>
{% if blueprint_mode %}{% elif mode=='home' %}<section class="hero"><div class="shell hero-grid"><div class="hero-text"><div class="pill">✦ WELCOME TO {{site.name|upper}}</div><h1>{{page.title if page.title!=site.name else 'Ideas become impact.'}}</h1><p>{{page.summary or site.tagline or 'A forward-looking partner creating meaningful opportunities for tomorrow.'}}</p><div class="actions"><a class="primary" href="product/">Explore Solutions ↗</a><a class="secondary" href="{{'about/' if entries|selectattr('route','equalto','/about/')|list else 'mailto:{{site.email or "info@example.com"}}'}}">Learn About Us →</a></div><div class="trusted">STRATEGY <span>•</span> INNOVATION <span>•</span> CONNECTIONS</div></div><div class="abstract-art">{% if page.cover %}<img src="{{asset(page.cover)}}" alt="{{page.title}}">{% else %}<div class="orb orb-main"></div><div class="orb orb-inner"></div><div class="orb orb-small"></div><div class="art-caption">THE FUTURE<br>IS BUILT<br>TOGETHER.</div>{% endif %}</div></div></section>
{% else %}<section class="inner-hero"><div class="shell"><span class="pill">OUR {{type_names.get(page.type,'WORLD')|upper}}</span><h1>{{page.title}}</h1><p>{{page.summary}}</p></div></section>{% endif %}
{% if blueprint_mode %}<main class="sf-canvas">{{blocks}}</main>{% else %}<main class="shell content"><div class="nudge"><span>✦</span> PURPOSE-LED. OUTCOME-FOCUSED.</div>
{% if mode in ['detail','home'] and (content or blocks) %}<div class="rich-content">{{blocks}}{{content}}</div>{% endif %}
{% if mode=='detail' and page.cover %}<div class="detail-image"><img src="{{asset(page.cover)}}" alt="{{page.title}}"></div>{% endif %}
{% set chosen=listing_items if mode=='listing' else entries|selectattr('type','equalto','product')|list if mode=='home' else [] %}
{% if chosen %}<div class="section-header"><div><span class="kicker">DISCOVER MORE</span><h2>{{'What we offer' if mode=='home' else page.title}}</h2></div><span>Distinct solutions. Shared ambition.</span></div><div class="tiles">{% for item in chosen[:9] %}<a href="{{link(item.route)}}" class="tile"><div class="tile-image">{% if item.cover %}<img src="{{asset(item.cover)}}" alt="{{item.title}}">{% else %}<span>✳</span>{% endif %}</div><div class="tile-info"><span>{{type_names.get(item.type,'SOLUTION')}}</span><h3>{{item.title}}</h3><p>{{item.summary|truncate(100)}}</p><b>Learn more ↗</b></div></a>{% endfor %}</div>{% endif %}
{% if mode=='home' %}<div class="big-cta"><span>READY TO CONNECT?</span><h2>Let's build something<br>meaningful together.</h2><a href="mailto:{{site.email or "info@example.com"}}">Get in touch ↗</a></div>{% endif %}</main>
{% endif %}<footer><div class="shell"><div class="footer-upper"><h2>{{site.name}}</h2><p>{{site.tagline or 'Building better possibilities.'}}</p></div><div class="footer-line"><span>© {{site.name}}</span><span>CONNECTED THROUGH SITEFORGE</span></div></div></footer></body></html>
File diff suppressed because one or more lines are too long