References · 外部站点观测(40 条)
本包没有预览页
选版式 / 定字号 / 定网格前先读的 40 条外部站点观测:网页 6 · 纸媒 7 · 三维 7 · 新闻 15 · 瑞士 5,给结构骨架、字阶与出处许可状态定依据
不适用场景
当色板用(要 hex 去 themes 包)、当代码或素材用、或据此复刻某个原站
元数据
标签
验证证据
2026-11-03 · python packs/references/scripts/assert_tokens.py
PASS assert_tokens references — 40 条 · index 40 条一致 · 必备字段齐 · 形态规则 8 条 0 命中 · index.json 13407B归属与许可
- 各条 source_url 指向的公开站点 / 规范页 / 上游仓库 · 各自站点与规范自身的许可观测出处:本包只记录观测与结论,未复制原图、原文与源码
取用
固定版本(CDN)
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/nakamotosai/sai-assets@pack/[email protected]/packs/references/css/default.css">raw 直取(跟随 main)
curl -O https://raw.githubusercontent.com/nakamotosai/sai-assets/main/packs/references/SKILL.md仓库内落地
python scripts/apply.py references --to <项目目录>整包下载
https://assets.ouuut.com/downloads/references.zip源码与规则
pack.json{
"schema": 1,
"id": "references",
"title": "References · 外部站点观测(40 条)",
"kind": "meta",
"category": "references",
"version": "1.0.0",
"license": "CC0-1.0",
"attribution": [
{
"name": "各条 source_url 指向的公开站点 / 规范页 / 上游仓库",
"license": "各自站点与规范自身的许可",
"what": "观测出处:本包只记录观测与结论,未复制原图、原文与源码"
}
],
"origin": {
"project": "sai-assets",
"path": "references/",
"derived_from": null
},
"entry": "SKILL.md",
"files": {
"src": [
"data/index.json",
"data/ref-w1-typo-serif.json",
"data/ref-w2-typo-mono.json",
"data/ref-w3-bento-whitespace.json",
"data/ref-w4-dark-cinematic.json",
"data/ref-w5-light-warm.json",
"data/ref-w6-restrained-motion.json",
"data/ref-p1-title-floor.json",
"data/ref-p2-body-floor.json",
"data/ref-p3-paper-texture.json",
"data/ref-p4-one-focal.json",
"data/ref-p5-masthead.json",
"data/ref-p6-no-table-timeline.json",
"data/ref-p7-height-print.json",
"data/ref-t1-wgpu-roughness.json",
"data/ref-t2-render-pipeline.json",
"data/ref-t3-compute-galaxy.json",
"data/ref-t4-fluid-xray.json",
"data/ref-t5-proc-geometry.json",
"data/ref-t6-fluid-presets.json",
"data/ref-t7-text-shatter.json",
"data/ref-n1-sspai.json",
"data/ref-n2-papermod.json",
"data/ref-n3-ghost.json",
"data/ref-n4-tailnews.json",
"data/ref-n5-propublica.json",
"data/ref-n6-quanta.json",
"data/ref-n7-massively.json",
"data/ref-n8-miniflux.json",
"data/ref-n9-cleanblog.json",
"data/ref-n10-verge.json",
"data/ref-n11-newsblur.json",
"data/ref-n12-selfoss.json",
"data/ref-n13-clreq.json",
"data/ref-n14-cntypeset.json",
"data/ref-n15-notosanssc.json",
"data/ref-s1-grid-formula.json",
"data/ref-s2-margins-canons.json",
"data/ref-s3-gerstner-compound.json",
"data/ref-s4-isotype.json",
"data/ref-s5-free-font-stack.json"
],
"usage": "docs/usage.md",
"assert": "scripts/assert_tokens.py"
},
"tags": ["references", "observation", "web", "print", "three", "news", "swiss"],
"when": "选版式 / 定字号 / 定网格前先读的 40 条外部站点观测:网页 6 · 纸媒 7 · 三维 7 · 新闻 15 · 瑞士 5,给结构骨架、字阶与出处许可状态定依据",
"not_for": "当色板用(要 hex 去 themes 包)、当代码或素材用、或据此复刻某个原站",
"default_variant": null,
"verified": {
"date": "2026-11-03",
"how": "python packs/references/scripts/assert_tokens.py",
"evidence": "PASS assert_tokens references — 40 条 · index 40 条一致 · 必备字段齐 · 形态规则 8 条 0 命中 · index.json 13407B"
},
"canonical_home": null
}
docs/usage.md# references · 用法与判读规则
本包是**外部站点的观测结论**,不是可执行资产:40 条记录,每条讲"某个公开站点(或某份公开规范)在结构 / 版式 / 字栈上长什么样",以及"什么时候该翻它"。
## 选型怎么读(三步,10 秒)
| 顺序 | 字段 | 读法 |
|---|---|---|
| 1 | `tag` + `when` | 先按 `tag` 锁定组(网页 / 纸媒 / 三维 / 新闻 / 瑞士),再用 `when` 的场景词筛出候选。`when` 的第一句就是"什么时候翻这条" |
| 2 | `matchTheme` | 该观测对齐的主题族标识。仓内 `themes` 包 id 同名者可直接联动;`all` = 任何主题都相关 |
| 3 | `observed` / `layout` | 定版式时读这两条:`observed` 是观测到什么(含出处与许可结论),`layout` 是可直接照着排的结构骨架 |
`colorsDNA` 只有 1 条有值(瑞士 **Isotype** 的暖米底 + 平黑剪影 + 单一饱和红),其余为 `null` —— 本包**不提色**:要色值去 `themes` 包的 `tokens/`。载荷与索引分离:`data/index.json` 是紧凑索引(≤16KB,一次读全),逐条详情在 `data/<id>.json`。
## 字段语义
| 字段 | 含义 |
|---|---|
| `id` | 稳定标识,与 `data/<id>.json` 文件名一一对应 |
| `name` | 中文条目名,括号里的 `(基准)` 表示它是**依据类**条目(规范原文 / 参数基准),不是站点版式 |
| `tag` | 分组:`web` `print` `three` `news` `swiss` |
| `source_url` | 观测出处(公开第三方站点 / 规范页 / 上游仓库);保留全 URL 便于回源复核 |
| `observed` | 观测结论 + 出处状态 + 许可结论。句尾 `得分 n/12` 是观测时 12 项检查的记录,**只作强弱排序,不构成许可结论** |
| `layout` | 可直接照着排的结构骨架(栏数 / 网格 / 层级 / 字栈),不含代码 |
| `colorsDNA` | 该条是否给出过配色归纳;多数为 `null`(见上) |
| `matchTheme` | 该观测对齐的主题族标识;与仓内 `themes` 包 id 同名即可直连 |
| `when` | 什么时候用这条:前半句是场景,后半句 `许可:` 是该条内容的可用边界 |
### `when` 怎么读
- 前半句 = **触发场景**:"做中文双栏信息站时先对本条定信息密度与栏宽"。
- 后半句 `许可:` = **该条内容的可用边界**,三类:
- `观测归纳(不搬运原文/图/码)` —— 只有结论可用,出处内容一律不动;
- `观测放行(源码不入库)` —— 可以学思路,示例源码不入任何库;
- 具体许可号(`MIT` / `CC BY 3.0` / `GPL-3.0` / `W3C Document License` …) —— 指的是**该出处自身的许可**,落地前回 `source_url` 复核当前版本,本包不代行许可判断。
### `matchTheme` 怎么读
值是主题族标识,不是文件路径:同名 `themes` 包存在时,先读那个包的 `tokens/` 与 `docs/usage.md`,再按本条 `layout` 排结构。`all` 表示与主题无关的通用规矩(如动效克制)。
## 分组与数量(共 40 条)
| 分组 | `tag` | 条数 | 覆盖什么 | 代表条目 |
|---|---|---|---|---|
| 网页 | `web` | 6 | 现代网页观感与动效尺度:衬线/等宽排印、Bento 留白、深色电影感、浅色暖系、滚动叙事克制 | `ref-w1-typo-serif` · `ref-w4-dark-cinematic` |
| 纸媒 | `print` | 7 | 纸媒与印刷版式规矩:标题/正文字号地板、纸面质感、一页一重心、刊头范式、时间线禁表格、高度预算与打印 | `ref-p1-title-floor` · `ref-p7-height-print` |
| 三维 | `three` | 7 | WebGPU / Three 一屏一效路线:粗糙度反射、后处理管线、Compute 粒子、流体揭示、程序化几何、文字碎裂 | `ref-t2-render-pipeline` · `ref-t6-fluid-presets` |
| 新闻 | `news` | 15 | 新闻/信息站整站结构 与 3 条**中文排版基准**(W3C clreq、中文排印参数、Noto Sans SC 字栈)+ 聚合流后端参考 | `ref-n2-papermod` · `ref-n13-clreq` |
| 瑞士 | `swiss` | 5 | 瑞士国际主义的构造法:网格公式、边距经典比、Gerstner 复合网格、Isotype 统计图形、可分发字体栈 | `ref-s1-grid-formula` · `ref-s4-isotype` |
## 用法示例
1. **定信息站骨架**:`tag=news` → 读 `ref-n2-papermod`(三布局 + 客户端搜索)与 `ref-n9-cleanblog`(极简四页),`layout` 直接当骨架。
2. **定中文正文参数**:`ref-n13-clreq`(禁则与挤压)+ `ref-n14-cntypeset`(字号/行高/行宽三值)→ 第 2 步再回 `themes` 包取色。
3. **定一屏一效**:`tag=three` → 按 `ref-t2`/`ref-t3` 选路线,`when` 里的"源码不入库"照办。
## 反模式(禁区)
- **观测不是代码**:本包不含任何原站 HTML/CSS/JS。禁把 `layout` 描述当实现抄,禁按 `observed` 复刻原站的版式细节到"像原站"的程度 —— 学的是**规矩**,不是皮。
- **禁据此复刻原站**:不得整站仿制、不得搬原站配图/标题正文/logo,不得把条目做成"某站同款"的对外宣称。
- **禁把 `observed` 里的许可结论当法律意见**:那是观测时的记录,落地前回 `source_url` 复核。
- **禁拿本包当色板**:要 hex 去 `themes` 包;`colorsDNA` 只有 1 条有值。
- **禁摘索引当全文**:`index.json` 只留 6 个字段,判读要看 `data/<id>.json` 的 `layout`。
## 维护
新增 / 修订一条 = ① `data/<id>.json`(id 与文件名一致)② 更新 `data/index.json` 的 `count` / `groups` / `items` ③ 跑 `python packs/references/scripts/assert_tokens.py`。断言同时管三件事:条目数与索引一致、必备字段齐、包内无本机路径与内网标识。
SKILL.md---
name: references
description: 40 observation notes on public sites and specs (web / print / three / news / swiss), used before layout and theme selection to fix column counts, type floors, grid formulas and print budgets. Use when picking a structure or type scale and you need evidence-backed rules instead of taste; do not use it as a colour palette, a code source, or a licence ruling.
---
# references
选版式 / 定字号 / 定网格**之前**先读这一包:40 条外部观测说清"别人怎么排"以及"什么时候该翻它"。这是**观测结论**,零代码零原图。
## When to use
- 定信息站 / 新闻站骨架(三布局、极简四页、多栏、分类网格)
- 定中文字号与行高行宽三值,或查中文禁则与标点挤压的依据
- 定网格:瑞士构造公式、边距经典比、复合网格
- 选一屏一效的技术路线(WebGPU 反射 / 后处理 / Compute / 流体 / 文字碎裂)
- 定纸媒与打印规矩:标题正文地板、纸面质感、刊头、一页一重心、高度预算
## When not to use
- 要**色值**:去 `themes` 包的 `tokens/`,本包只有 1 条给过配色归纳
- 要**可执行代码 / 组件 / 动效实现**:去 `web-fx` `web-ui` 包
- 想**复刻某个原站**:禁区,见 `docs/usage.md` 反模式
- 要**许可裁定**:本包只记观测时的出处状态,落地前回 `source_url` 复核
## 分组
| 分组 | `tag` | 条数 |
|---|---|---|
| 网页 | `web` | 6 |
| 纸媒 | `print` | 7 |
| 三维 | `three` | 7 |
| 新闻 | `news` | 15 |
| 瑞士 | `swiss` | 5 |
## Files
| path | use |
|------|-----|
| `data/index.json` | 紧凑索引:40 条只留 `id/name/tag/when/matchTheme/source_url`(≤16KB,一次读全) |
| `data/<id>.json` | 逐条全文:加 `observed` / `layout` / `colorsDNA` |
| `docs/usage.md` | 判读规则:字段语义、`when` 与 `matchTheme` 怎么读、用法示例、反模式 |
| `README.md` | 人读入口 |
| `scripts/assert_tokens.py` | 断言:40 条齐、索引一致、必备字段齐、无本机路径与内网标识 |
## Agent apply steps
1. 读 `data/index.json`,按 `tag` 分组、用 `when` 的场景词筛出 2–4 条候选。
2. 打开候选的 `data/<id>.json`,读 `layout` 拿结构骨架,读 `observed` 拿出处与许可状态。
3. 要落地配色:转向 `matchTheme` 同名的 `themes` 包读 `tokens/`(**禁止**凭本包编色)。
4. 引用时把 `id` 与 `source_url` 一起带上,便于回源复核。
## Hard rules
- 本包只有观测:禁搬运原站 HTML/CSS/JS、原图、标题正文与 logo。
- `when` 里的 `许可:` 是该**出处自身**的许可,不是本包的许可;本包自产部分是 `CC0-1.0`。
- 观测描述 (layout) 拿来定规矩,**禁止**照着复刻原站。
- `得分 n/12` 只是观测记录的强弱排序,不是质量背书。
- 改本包必跑 `python packs/references/scripts/assert_tokens.py`,红了不许提交。