一、④段整套同步(用户选候选 A)
- 新增 `references/stage-proto-doc/assets/产品文档模板.html`(16 KB/247 行,从备份拷、转 LF)。
- ④段 SKILL.md 换成备份 15:28 那版,并按模板口径改齐:
· 「产品文档框架」从「四块+一附录」改成**六节** —— 页面结构/功能清单/使用场景/操作流程/
跨页与界面状态/待确认与偏离;与模板同构,⛔ 不从空白页重写结构。
· 编号从 R/S/F 改成 **P 页面/S 场景/F 功能/J 二级功能**,各自唯一、按展示顺序通排。
· 保留旧版有价值的要求:每项功能补齐 做什么/入口在哪/输入边界/异常与恢复;重点功能三处标红;
横向流程图每步写清页面/功能/操作/完成判据。
· 完成标准「七节」→「六节」,自查清单同步换掉「需求」那批条目,补模板与配图两条。
· 路径 `designs/<项目>/` → `docs/pm/<项目>/ui/`(2 处)。
· 补回本机那条「每份产出文档开头都要有一张图」的引用(指向主 skill,段内不复述)。
- 主 skill 同步:四段结构表④行、④段沿革、画图小节(④段画页面结构图 + 用户路径)。
二、open-design 移到技能根(用户选候选 A)
- `git mv product-planning/references/stage-delivery/assets/open-design → open-design/`(4178 文件)。
- `.gitignore` 白名单加 `!/open-design/` —— 否则移出去就不再纳入版本控制。
- 引用改 11 处:路径形态 `assets/open-design/...` → `<技能根>/open-design/...`;
「随段携带的自带件」改称「同根技能」;「路径怎么找」那条改成自带件(段内相对路径)与
同根技能(`<技能根>/<技能名>/`)两类分开写。
- open-design 自己的 ATTRIBUTION.md 两处同步(它现在与 oil-ui-pro 同层)。
- 副作用(有益):命名闸门读数由 2063 降到 225 —— 此前它把 open-design 里 919 个第三方 md
当成规则一起扫了;现在只扫本包 23 个 md。已确认④段的 H1 与 4a/4b/4c 子步仍在检查范围内。
三、验收
- check_naming.py --ws E:/ProgramData/AIProject/contentm_agent = 通过 225 / 失败 0 / 提示 27。
- 活文件里 `assets/open-design` 残留 0;工作区 CRLF 文件 0。
162 lines
7.6 KiB
Markdown
162 lines
7.6 KiB
Markdown
# 受 GitHub 启发的设计系统
|
||
|
||
> Category: 开发者工具
|
||
> 以代码为核心的平台。功能密度高,蓝白配色精准,基于 Primer 规范。
|
||
|
||
## 1. 视觉主题与氛围
|
||
|
||
GitHub 的界面是工程化的,而非装饰性的。每一个像素都在传达一种立场:这是一款为在乎 diff、构建和 pull request 的人而生的工具。页面背景是干净的 `#ffffff`(浅色模式)或 `#0d1117`(深色模式),内容排布在密集的矩形面板上,面板之间用细线边框分隔,而非留白。信息密度即品牌——列表行、代码行、仓库标题和通知卡片紧密排列,让有经验的用户无需滚动即可浏览上百条内容。
|
||
|
||
标志性的强调色是用于链接和主要操作的 **Primer 蓝** (`#0969da`),以及用于合并状态、成功提示和合并按钮的 **GitHub 绿** (`#1a7f37`)。与消费品的蓝绿色相比,两者都略显低调——饱和度足以在密集的灰色文字中清晰可辨,又克制到足以在同一视口中出现多次时不显突兀。
|
||
|
||
排版使用覆盖整个产品的 **system-ui** 字体栈,确保文字在所有操作系统上清晰渲染,搭配 **SFMono / Menlo / Consolas** 用于代码。没有编辑类展示字体;GitHub 的声音就是你正在使用的系统本身的声音。
|
||
|
||
**关键特征:**
|
||
- 纯白画布(`#ffffff`)或深海军蓝黑(`#0d1117`)——无暖调,无色调倾向
|
||
- 细线灰色边框(`#d0d7de`)定义每个面板
|
||
- Primer 蓝(`#0969da`)用于链接/主要操作;GitHub 绿(`#1a7f37`)用于成功/合并
|
||
- system-ui 用于正文;SFMono 用于代码——无自定义字体
|
||
- 内边距极小的密集列表行;留白稀少
|
||
- 16px / 24px 的 Octicon 图标——单描边、几何形态、风格统一
|
||
- 具有强色彩语义的胶囊状状态徽章
|
||
|
||
## 2. 色彩调色板与角色
|
||
|
||
### 主色
|
||
- **Canvas Default**(`#ffffff`):浅色主题主页面背景。
|
||
- **Canvas Subtle**(`#f6f8fa`):次级表面、侧边栏、输入框背景、顶栏区域。
|
||
- **Canvas Inset**(`#eaeef2`):代码块背景、深内嵌表面。
|
||
- **Fg Default**(`#1f2328`):主文本、标题、正文。
|
||
- **Fg Muted**(`#656d76`):次级文本、说明文字、文件路径。
|
||
|
||
### 品牌强调色
|
||
- **Primer Blue**(`#0969da`):链接、主要 CTA、焦点圆环基色——通用交互色。
|
||
- **Primer Blue Hover**(`#0550ae`):主蓝色的悬停/按下状态。
|
||
- **Accent Subtle**(`#ddf4ff`):用于标注、信息横幅的柔和蓝色表面。
|
||
|
||
### 语义色
|
||
- **Success / Merge Green**(`#1a7f37`):已合并 PR、成功徽章、合并按钮。
|
||
- **Success Subtle**(`#dafbe1`):成功状态的表面色调。
|
||
- **Open Green**(`#1a7f37`):Issue/PR 的"Open"状态。
|
||
- **Closed / Danger Red**(`#cf222e`):已关闭 PR、破坏性操作、验证错误。
|
||
- **Danger Subtle**(`#ffebe9`):错误横幅表面。
|
||
- **Attention / Warning Yellow**(`#9a6700`):琥珀色表面上的警告文字。
|
||
- **Attention Subtle**(`#fff8c5`):警告横幅表面。
|
||
- **Done Purple**(`#8250df`):已合并并归档、"done"状态、高级徽章。
|
||
- **Sponsor Pink**(`#bf3989`):赞助心形图标、GitHub Sponsors 品牌色。
|
||
|
||
### 边框与分割线
|
||
- **Border Default**(`#d0d7de`):标准细线边框、面板轮廓。
|
||
- **Border Muted**(`#d8dee4`):面板内部分割线。
|
||
- **Border Subtle**(`#eaeef2`):隐约的表格行分割线。
|
||
|
||
### 深色主题
|
||
- **Dark Canvas**(`#0d1117`):深色页面背景。
|
||
- **Dark Surface**(`#161b22`):侧边栏、顶栏、次级表面。
|
||
- **Dark Border**(`#30363d`):标准深色模式边框。
|
||
- **Dark Fg**(`#e6edf3`):深色背景上的主文本。
|
||
|
||
## 3. 排版规则
|
||
|
||
### 字体系列
|
||
- **正文 / UI**:`-apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif`
|
||
- **代码 / 等宽**:`ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace`
|
||
- **Emoji**:`"Apple Color Emoji", "Segoe UI Emoji"`
|
||
|
||
### 层级
|
||
|
||
| 角色 | 字体 | 字号 | 字重 | 行高 | 字距 | 备注 |
|
||
|------|------|------|--------|-------------|----------------|-------|
|
||
| Display | system-ui | 32px (2rem) | 600 | 1.25 | -0.01em | 仓库标题、营销首屏 |
|
||
| H1 | system-ui | 24px (1.5rem) | 600 | 1.25 | normal | 页面标题 |
|
||
| H2 | system-ui | 20px (1.25rem) | 600 | 1.25 | normal | 区域标题 |
|
||
| H3 | system-ui | 16px (1rem) | 600 | 1.25 | normal | 子区域、面板标题 |
|
||
| Body | system-ui | 14px (0.875rem) | 400 | 1.5 | normal | 默认文本尺寸——非 16px |
|
||
| Body Small | system-ui | 12px (0.75rem) | 400 | 1.4 | normal | 说明文字、文件元数据 |
|
||
| Code | SFMono | 12px (0.75rem) | 400 | 1.45 | normal | 代码块、diff |
|
||
| Code Inline | SFMono | 0.85em | 400 | inherit | normal | 行内 `code` 段 |
|
||
|
||
### 原则
|
||
- **正文 14px,非 16px**:GitHub 的文字密度是其标识。产品以 14px 阅读,以便在视口中容纳更多行。
|
||
- **字重二元化**:默认全部 400;标题和强调用 600。无 500,无 700。
|
||
- **始终使用系统字体**:绝不为界面加载网络字体——文字必须在慢网络下即时渲染。
|
||
|
||
## 4. 组件样式
|
||
|
||
### 按钮
|
||
|
||
**主要按钮(绿色)**
|
||
- Background: `#1f883d`
|
||
- Text: `#ffffff`
|
||
- Border: 1px solid `rgba(31, 35, 40, 0.15)`
|
||
- Padding: 5px 16px
|
||
- Radius: 6px
|
||
- Shadow: `0 1px 0 rgba(31,35,40,0.1)`
|
||
- Hover: background `#1a7f37`
|
||
- 用途:"Create repository"、"Merge pull request"
|
||
|
||
**默认按钮**
|
||
- Background: `#f6f8fa`
|
||
- Text: `#1f2328`
|
||
- Border: 1px solid `#d0d7de`
|
||
- Padding: 5px 16px
|
||
- Radius: 6px
|
||
- Hover: background `#f3f4f6`,border `#d0d7de`
|
||
|
||
**轮廓按钮(蓝色链接风格)**
|
||
- Background: `#ffffff`
|
||
- Text: `#0969da`
|
||
- Border: 1px solid `#d0d7de`
|
||
- Hover: background `#0969da`,text `#ffffff`
|
||
|
||
**危险按钮**
|
||
- Background: `#ffffff`
|
||
- Text: `#cf222e`
|
||
- Border: 1px solid `#d0d7de`
|
||
- Hover: background `#a40e26`,text `#ffffff`,border `#a40e26`
|
||
|
||
### 卡片 / 盒子
|
||
- Background: `#ffffff`
|
||
- Border: 1px solid `#d0d7de`
|
||
- Radius: 6px
|
||
- Padding: 16px(标题)+ 16px(正文)
|
||
- 标题区有 `#f6f8fa` 底色带下边框。
|
||
|
||
### 输入框
|
||
- Background: `#ffffff`
|
||
- Border: 1px solid `#d0d7de`
|
||
- Radius: 6px
|
||
- Padding: 5px 12px
|
||
- Focus: border `#0969da`,ring `0 0 0 3px rgba(9,105,218,0.3)`
|
||
|
||
### 状态徽章(Issue / PR)
|
||
- **Open**:background `#1a7f37`,文字白色,padding 4px 10px,radius 9999px。
|
||
- **Closed**:background `#cf222e`,文字白色。
|
||
- **Merged**:background `#8250df`,文字白色。
|
||
- **Draft**:background `#6e7781`,文字白色。
|
||
|
||
### 标签(Issue/PR 上的标签)
|
||
- Padding: 0 7px
|
||
- Radius: 9999px
|
||
- Font: 12px / 500
|
||
- 背景色和文字颜色由程序计算(标签颜色→文字颜色按对比度计算)。
|
||
|
||
## 5. 间距与布局
|
||
|
||
- **基础单位**:4px。间距比例:4, 8, 12, 16, 24, 32, 40, 48。
|
||
- **页面最大宽度**:1280px(`Container-xl`)。
|
||
- **侧边栏**:桌面端 296px,低于 1012px 时折叠。
|
||
- **行内边距**:水平 16px,垂直 12px(列表天生密集)。
|
||
|
||
## 6. 动效
|
||
|
||
- **时长**:悬停 80ms;菜单/弹出层展开 200ms。
|
||
- **缓动**:展开用 `ease-out`,关闭用 `ease-in`。
|
||
- **刻意回避**:页面加载动画、视差效果、持续的微交互。元素直接出现,不表演。
|
||
|
||
## 7. 使用护栏
|
||
|
||
- 密集列表、带边框的盒子和系统字体需搭配使用;单独使用绿色按钮不足以营造 GitHub 风格的产品界面。
|
||
- 绿色用于建设性仓库操作,蓝色用于链接和焦点,红色/紫色/灰色仅用于 Issue、PR 和工作流状态。
|
||
- 优先选择低调的界面装饰、明确的边框和紧凑的间距,而非装饰性阴影或大型营销风格卡片。
|