指南
要重构网站?先提取它的设计系统
重构、品牌升级或迁移到新框架,往往就是设计系统悄悄丢失的时候。颜色藏在旧的 CSS 里,字号层级只存在于某个人的脑子里,按钮状态埋在一个没人愿意打开的组件里。
在做任何改动之前,先把当前网站提取为 DESIGN.md。你会得到一份新版本的书面基准,你的团队和编程智能体都能读懂。
面向计划重构、品牌升级或迁移的团队。更新于 。
你将获得
- 一份当前网站的 DESIGN.md,在重构的第一行代码之前就已提交。
- 清楚了解文件记录了什么、没有记录什么。
- 一份需要手动核实的清单:素材、状态、动效、断点,以及需要登录的页面。
- 完成后对比新旧网站的方法。
什么时候这样做
- 迁移框架。外观不变,技术栈更换。有了 DESIGN.md,你的编程智能体可以用精确数值重建组件,而不必去读旧的样式表。
- 品牌升级。先保存旧系统,这样你就能清楚知道哪些颜色、字体和圆角要改,哪些保留。
- 交接。新的代理机构或新团队拿到的是一份描述网站当前外观的文件,而不用把代码库从头看一遍。
步骤
在任何改动之前提取线上网站
在 Design Extractor 首页粘贴你的生产环境网址,运行一次 Pro 提取。它必须是公开页面:提取会像访问者一样加载页面,因此 localhost 和需要登录的页面都不行。
作为基准提交
以 DESIGN.md 为名保存在新仓库中,并在重构开始前提交。它记录了网站在那一天的样子。
阅读 Known Gaps 章节
文件末尾列出了这次提取无法记录的内容。那里的每一项都需要手动检查。
检查 DESIGN.md 无法容纳的内容
素材、登录后的页面、动效以及下面列出的其他项目。边检查边在文件中添加备注。
以它为依据进行构建
按照 Claude Code 和 Cursor 指南中的方法,让你的编程智能体指向这个文件,并对照它检查每个新页面。
文件在 Stripe 上记录了什么
想知道你会得到什么,可以看看示例库中的 Stripe DESIGN.md。它的 Pro 提取抓取了 stripe.com 的 5 个页面:/nl, /nl/pricing, /nl/products, /nl/newsroom/news/stripe-openai-instant-checkout, /nl/contact/sales。在你自己的网站上提取,会得到同样的结构。
| 颜色 | 21 个令牌,每个都标明角色 |
|---|---|
| 字体排版 | 17 种样式,使用 Sohne |
| 圆角 | 10 个令牌 |
| 间距 | 62 个令牌 |
| 组件 | 71 个配方,以 HTML 和 CSS 编写:44 个通过了与实时页面的核对,27 个被标注或无法检查,均附有原因 |
| 章节 | Overview, Colors, Typography, Layout, Elevation & Depth, Shapes, Components, Do's and Don'ts, Responsive Behavior, Iteration Guide, Known Gaps |
它自己说明的遗漏
文件会如实说明自己的局限。以下是其 Known Gaps 章节中 11 项里的前 5 项:
## Known Gaps
- **Many recipes did not reproduce exactly.** `button-primary` (84% pixel match), `card` (78%), `card-2` (94%), `promo-banner` (77%) and `skip-link` (0%; it is visually hidden until focused) are approximations. So are several header and footer recipes (`header-landing`, `header-inner-2` timed out, `footer-landing`, `footer-inner`, `footer-inner-2`).
- **Some recipes could not be judged at all.** `stat` and `stat-2` were not verifiable, because page media covered most of the element.
- **Some elements were never visible.** `footer-landing`, `header-inner` and `logo-strip-item` were not visible when verification ran, so their values come from computed styles only.
- **No section rhythm was measured.** `sectionRhythm` is empty, so vertical spacing between page sections and the inner padding of large cards is described only qualitatively.
- **No `base` spacing step was published.** The evidence frequency (4px, 8px, 12px, 16px and 24px most common) suggests a 4px-derived grid, but it is not a verified token.提取自 Stripe 的公开网站,并非官方品牌规范。阅读完整的 Stripe DESIGN.md
你自己的文件会有自己的清单。把它当作下面这些检查的待办事项。
需要手动检查的内容
| 项目 | 文件为什么可能遗漏 | 怎么做 |
|---|---|---|
| Logo、图标、图片 | DESIGN.md 描述的是样式,而不是文件。 | 从当前代码库中导出它们,放到新的代码库中。 |
| 登录后的页面 | 提取只能看到公开页面。 | 列出应用与营销网站的不同之处,比如更密集的表格或侧边栏。 |
| 状态 | 悬停和聚焦状态会在提取看到的地方被记录;按下、禁用和错误状态往往不会。 | 逐一点击表单和按钮,记下缺失的状态。 |
| 动效 | 过渡和动画最多只会用文字描述。 | 从当前的 CSS 中记下时长和缓动曲线。 |
| 断点 | 提取会记录一个桌面端宽度和一个移动端宽度。 | 检查平板布局,记下栏数变化的位置。 |
| 抽样之外的页面模板 | Pro 会抽样大约五个关键页面。 | 对于任何看起来不同的页面,比如文档页或结账页,单独提取。 |
重构之后
新网站上线后,再提取一次并对比两份文件。没有变化的令牌说明外观保住了;变化的令牌要么是你计划中的品牌升级,要么是需要修复的偏差。
任何文本 diff 都能显示变化的 hex 值和尺寸。Google 的 @google/design.md 包还提供 diff 命令,可以逐个令牌比较两个版本;DESIGN.md 详解介绍了这个格式及其工具。如果你在过程中手动编辑了文件,请用 DESIGN.md 校验器检查。
本指南使用的文件
打开一个,看看完整的 DESIGN.md,从顶部的令牌到末尾的 Known Gaps。
金融与金融科技Stripe
Stripe 的营销首页采用一套严谨统一的设计系统(HDS,Stripe Design System),以可变字体 "sohne-var" 的细体至常规字重(300–400)为核心,配合从深海军蓝过渡到靛紫色的品牌色板,并以 #533afd(Stripe Indigo)为主色调;首屏采用标志性的满幅光谱渐变背景。组件圆角较小(4–6px),阴影平缓或极简,整体布局基于 8px 的基础间距网格。整体语调既权威又亲和:通过自信的字体排版和克制的色彩运用,传达金融基础设施的专业感。
商业与专业服务Shopify
Shopify 营销首页采用极具冲击力的全幅视频主视觉,近黑色背景(#02090a)与上方白色导航栏形成鲜明对比。品牌主色为醒目的薄荷绿(#36f4a4),克制地用于高亮和交互状态。字体分工明确:展示与编辑类标题使用 NeueHaasGrotesk,界面正文使用 Inter-Variable。CTA 按钮采用全圆角药丸形(border-radius: 9999px)。整体风格自信、高对比、充满憧憬,旨在将访客转化为商家。
开发者与基础设施 · Developer Tools & IDEsSupabase
Supabase 采用以深色为先的设计系统,以接近纯黑的深色背景(oklch 约 0.19)为基底,搭配鲜明的绿色品牌强调色(#3ecf8e / #3fcf8e)。版面以响应式功能卡片网格组织,展示型标题使用 Manrope,正文与界面文字使用 Inter。所有等宽字体与代码场景均采用 Source Code Pro。色彩体系基于 oklch 自定义属性构建,并采用语义化命名。卡片圆角为 12px,边框处理较为柔和;按钮圆角为 6–8px。整体信息密度适中,基础间距遵循 8px 网格。
常见问题
重构前先提取你的设计系统:常见问题
尝试之前大家最常问的问题,这里都有简短回答。
不会。DESIGN.md 是一个描述样式的文本文件:颜色、字体排版、间距、圆角,以及以 HTML 和 CSS 编写的组件配方。请从当前的代码库或设计文件中导出 Logo、图标、插图和照片,并和它放在一起。
不能。提取会像访问者一样通过网址加载页面,因此不支持需要登录的页面、localhost 上的页面或私有网络中的页面。请提取公开网站,并记录下登录后的页面有哪些不同。
Pro 会抽样网站的关键页面,大约五个,并把发现的内容合并到一份 DESIGN.md 中。如果某个重要的页面模板不在其中,比如文档页或结账页,也请单独提取该页面的网址,然后对比两份文件。
新网站上线后再提取一次,然后对比两份文件。Google 的 @google/design.md 包提供 diff 命令,可以逐个令牌比较 DESIGN.md 的两个版本;任何文本 diff 工具也都能显示变化的 hex 值和尺寸。
在改动之前,先保存你的网站
粘贴你的生产环境网址。Pro 提取会抽样其关键页面,返回一份 DESIGN.md。
相关指南
让 Claude Code 和 Cursor 构建与网站风格一致的界面
提取你喜欢的网站,把它的 DESIGN.md 放进仓库并让智能体指向它,附 Claude Code 和 Cursor 的完整提示词。
没有设计师?为你的应用借鉴一套成熟的设计系统
如何挑选参考网站,DESIGN.md 中哪些该保留、哪些该修改,让结果属于你自己而不是一份复制品。
把两个参考网站融合成一套原型设计
逐个令牌比较两份提取出的 DESIGN.md,然后手动或借助智能体把它们合并成一份用于原型的规范。
用 MCP 按需为你的编程智能体提供设计规范
连接 MCP 服务器,让你的智能体自己提取网站的 DESIGN.md,等待提取完成,然后据此构建。