从自有站点追溯色值来源,不把截图近似色当规范
本页展示随包原生输入和验收参考。目标产品运行状态:未运行。表格与图片不代表产品已经生成的结果。
input.csv / practice-data.json
本课实际输入字段
| page | selector | property | value |
|---|---|---|---|
| /event | .buy | background | #184A45 |
| /tickets | .notice | color | #A74718 |
| /event | body | font-size | 16px |
启动设计系统提取
reference.csv:作者验收映射,不是目标API回包
| role | source | value |
|---|---|---|
| primary | .buy | #184A45 |
| warning | .notice | #A74718 |
| body | 16px |
规则与输入文件原文
{
"inputRows": [
{
"page": "/event",
"selector": ".buy",
"property": "background",
"value": "#184A45"
},
{
"page": "/tickets",
"selector": ".notice",
"property": "color",
"value": "#A74718"
},
{
"page": "/event",
"selector": "body",
"property": "font-size",
"value": "16px"
}
],
"referenceRows": [
{
"role": "primary",
"source": ".buy",
"value": "#184A45"
},
{
"role": "warning",
"source": ".notice",
"value": "#A74718"
},
{
"role": "body",
"value": "16px"
}
],
"invalidRows": [
{
"role": "primary",
"value": "#A74718",
"error": "warning mistaken for brand"
},
{
"source": "private login URL",
"error": "not readable without credentials"
}
],
"notes": [
"全部输入为作者自制教学资料,不含真实客户或账号。",
"referenceRows是校验基准,不是目标模型预测或识别结果;targetProduct=not_run。"
],
"files": {
"input.json": "[\n {\n \"page\": \"/event\",\n \"selector\": \".buy\",\n \"property\": \"background\",\n \"value\": \"#184A45\"\n },\n {\n \"page\": \"/tickets\",\n \"selector\": \".notice\",\n \"property\": \"color\",\n \"value\": \"#A74718\"\n },\n {\n \"page\": \"/event\",\n \"selector\": \"body\",\n \"property\": \"font-size\",\n \"value\": \"16px\"\n }\n]\n",
"reference.json": "{\n \"identity\": \"作者验收参考,非模型返回\",\n \"rows\": [\n {\n \"role\": \"primary\",\n \"source\": \".buy\",\n \"value\": \"#184A45\"\n },\n {\n \"role\": \"warning\",\n \"source\": \".notice\",\n \"value\": \"#A74718\"\n },\n {\n \"role\": \"body\",\n \"value\": \"16px\"\n }\n ]\n}\n",
"invalid.json": "{\n \"identity\": \"作者构造负例,非实际错误回包\",\n \"rows\": [\n {\n \"role\": \"primary\",\n \"value\": \"#A74718\",\n \"error\": \"warning mistaken for brand\"\n },\n {\n \"source\": \"private login URL\",\n \"error\": \"not readable without credentials\"\n }\n ]\n}\n",
"case.md": "# Stitch提取网站设计系统:从自有站点追溯色值来源,不把截图近似色当规范\n\nStitch提取网站设计系统先给出可访问的自有页面,再把生成规范中的色值、排版和间距逐一连回页面证据。本课交付来源台账,明确区分读取到的值与需要人工决定的推断。\n\n## 锁定来源页面\n\n使用作者活动站的首页与票务页,记录完整URL和查看日期。\n\n页面需要登录时先改用自制公开样本,不向工具提供登录凭据。\n\n## 记录源样式\n\n从自有源码或浏览器样式记录主色、正文和卡片间距。\n\n截图只能证明外观,不能凭肉眼断言一个渐变像素就是品牌主色。\n\n## 启动设计系统提取\n\n在Stitch使用URL作为设计上下文,选择提取设计系统的入口。\n\n账户没有该功能时保留未执行状态,不改走已退役的Mixboard或Whisk。\n\n## 标出推断与实值\n\n逐项对比生成的DESIGN.md和源CSS,给无法直接对应的命名加上待确认。\n\n若页面使用多个相近绿色,先按实际用途区分,而非全合并primary。\n\n## 核验第二页面\n\n用票务页检查主按钮与警示条,查看它们是否应该共享同一语义色。\n\n发现生成规范把警示色当主色时只修正该映射。\n\n## 制作消费样例\n\n在本地用已确认token制作小卡片和购买按钮。\n\n保留源站与样例的相同文字和宽度,便于对照。\n\n## 交付来源台账\n\n保存URL、源CSS、规范和待确认项,逐项写出采用理由。\n\n生成画面仅在实际取得后保存,不能用作者样例冒充Stitch结果。\n\n身份:输入与参考为作者材料;localCli有实测记录时仅证明对应CLI运行,目标云端与模型推理未执行。\n",
"event.html": "<!doctype html><html lang=\"zh-CN\"><meta charset=\"utf-8\"><meta name=\"viewport\" content=\"width=device-width,initial-scale=1\"><title>周末手作夜</title><style>body{font:16px/1.6 Arial,sans-serif;background:#f7f4ec;color:#183b39;margin:32px;max-width:1100px}h1{font-size:32px}article{padding:24px;border:1px solid #cbd4cc;background:white;margin:16px 0}button{background:#184a45;color:white;padding:12px 20px;border:0;border-radius:8px}table{border-collapse:collapse;width:100%}th,td{padding:10px;border:1px solid #cbd4cc;text-align:left}pre{white-space:pre-wrap;overflow-wrap:anywhere}</style><h1>周末手作夜</h1><p>11月7日19:00</p><button class=\"buy\">购买票券</button></html>",
"tickets.html": "<!doctype html><html lang=\"zh-CN\"><meta charset=\"utf-8\"><meta name=\"viewport\" content=\"width=device-width,initial-scale=1\"><title>票务规则</title><style>body{font:16px/1.6 Arial,sans-serif;background:#f7f4ec;color:#183b39;margin:32px;max-width:1100px}h1{font-size:32px}article{padding:24px;border:1px solid #cbd4cc;background:white;margin:16px 0}button{background:#184a45;color:white;padding:12px 20px;border:0;border-radius:8px}table{border-collapse:collapse;width:100%}th,td{padding:10px;border:1px solid #cbd4cc;text-align:left}pre{white-space:pre-wrap;overflow-wrap:anywhere}.notice{color:#a74718}</style><h1>票务规则</h1><p class=\"notice\">请提前24小时取消。</p><button class=\"buy\">确认票券</button></html>"
}
}应当保留的约束
| role | source | value |
|---|---|---|
| primary | .buy | #184A45 |
| warning | .notice | #A74718 |
| body | 16px |
故意构造的错误样例
| role | value | error | source |
|---|---|---|---|
| primary | #A74718 | warning mistaken for brand | |
| not readable without credentials | private login URL |
先保存真实产品输出,再逐项对照。actualOutput / actualResult 在未执行时保持 not_run,不能把这里的期望值复制成已测结果。