发布列车 <ReleaseTrain />
每个版本一行:左边版本号、状态胶囊(已停止 / 维护中 / 最新版 / 测试版 / 开发中)和日期;右边一条从发布到停止维护的横条,按真实时间比例排;一条竖线标出今天。估计的结束日期用渐隐表示。
Template and style descriptions are currently available in Chinese only.
- Group
- 时间 · 版本生命周期重叠
- Component
ReleaseTrain·#release-train- Interaction
- build 模式下每按一次 → 出现一行
Good for
- 软件版本、产品代际的支持期重叠
- 想说明“现在有几个版本在维护”
Avoid when
- 只有日期没有区间:用 Milestones
- 跨度超过 6 年:横条会太短,拆页
Content limits
| 1 | rows 3–6 行,按时间先后 |
| 2 | version ≤ 10 个字符;note ≤ 20 个字符 |
| 3 | start / end / from / until / today 写 YYYY-MM;跨度 18–48 个月最合适 |
| 4 | todayLabel ≤ 8 字 |
| 5 | 估计的日期要标 estimate 并在 source 里说明 |
Fields
| Field | Type | |
|---|---|---|
kicker · required | string | 标题上方的小节名,2–8 字 |
title · required | string | string[] | 页面标题;传数组可手动断行,每项一行 |
lead | string | 一到两句导语,≤ 60 字 |
source | string | 事实出处;页面上有任何数据或事实时必填 |
hint | ReactNode | 页眉中间的操作提示,可用 <kbd> |
rows · required | { version, from, until?, state: 'eol' | 'supported' | 'current' | 'beta' | 'dev', note?, estimate? }[] | 版本行;until 省略表示一直延续 |
start · required | string | 横轴起点 YYYY-MM |
end · required | string | 横轴终点 YYYY-MM |
today | string | 今天竖线 YYYY-MM |
todayLabel | string | 竖线标签,默认“今天” |
stateLabels | Partial<Record<state, string>> | 改状态胶囊的文字,每个 ≤ 4 字 |
Example
<ReleaseTrain kicker="生命周期" title="每版维护约 13 个月" start="2025-01" end="2027-09" today="2026-10" rows={[{ version: 'Fedora 44', from: '2026-04', until: '2027-05', state: 'current', estimate: true }, …]} />