用途:向目标页面加入一条纵向单时间轴,每个节点包含日期、标题与来源,滚动到视口时逐渐显现,768px 处由移动端布局切换为桌面端布局,数据需为真实数据。触发场景:页面需要按时间列出里程碑,如 changelog、项目历史、路线图、写作归档、事件时间线。非适用:关系图或流程图请用 /diagram,数值数据图表请用 dataviz,本技能只处理单一线性时间轴。
主要能力:读取技能自带 assets/timeline.html、assets/timeline.css、assets/timeline.js,按目标项目设计体系做适配(BEM 类名修改需 CSS 与 JS 同步);每个节点为 <li class="timeline__item">,内含 <time>(ISO datetime)、<a> 标题、<small> 来源;IntersectionObserver 在节点进入视口时添加 timeline__item--in,由 CSS transition 实现淡入,不用 JS 直接动画;移动端圆点与连线在左侧,768px 以上日期独立为左列;深色主题默认通过 @media (prefers-color-scheme: dark) 调整 --bg/--fg/--primary。
使用方式:先读取三个资源文件理解结构,再按项目 design.md 或 token 适配(无 design.md 则保留示例 token),随后删除 assets/timeline.js 第一行来自 esm.sh 的 faker 导入及 generateArticles(),把 this.articles 换成 API/markdown/CMS 的真实数据后再 build();深色机制只保留一种,若项目已有 dark-mode-maker 则替换 prefers-color-scheme 块;最后用 playwright-verify 截图并滚动验证。
限制:缺少真实里程碑数据时无法接线,只有 faker 演示,需先澄清数据来源;节点内容长于视口高度时,threshold: 1 会导致永不显现,应降为 0.5;console 无报错不等于通过,必须完成滚动验证。若无 design.md 或相关 token,相关细节暂未提供。