任务: 一个集合列表页,从 content/<type>/ 选对象,用列表 layout component 呈现。合同在单元页;本 recipe 只排顺序。
结果
- 至少两个真实 content 对象(front matter + 正文)
- 页面(或 collection layout)声明该类型的未过滤 source
- 列表组件绑定
$source.<name>并带空态 - 每个已声明 locale 下检查列表 + 一条详情路由
步骤(只链出)
- 从可运行的第一站开始:实作:第一站。
- 对象形状与 locale:内容对象、元数据与 locale。
- 声明
path/ 可选sort/limit/filter并绑定$source.<name>:把内容绑定到页面 · Source 绑定参考。 - 把 source 写进 layout(仅任务顺序):实作:绑定 source 到 layout。
- 完整纵切叙事与证据边界:内容站。
列表面规范单元
| 角色 | 单元页 |
|---|---|
| 文章 / 新闻卡片列表 | content-card |
| 相关阅读带 | related-content |
| 卡片或索引上的标签 | tag-list |
| 可选首页混排 | site-home · 若站点 shadow 主题则见 site content-card |
不要在本页重写 manifest props —— 打开你选用的组件单元页。
列表/详情正文中的 Markdown(可选)
若列表项打开 Markdown 详情页,结构与卡片来自 MD 单元页,而不是在 layout 里发明 HTML:
- heading · paragraph · list
- 卡片:
::link-card·:::info-card·::::card-group - 提示 / 表格:GFM admonition · GFM table
验收顺序
- 未过滤
/content/<type>/source → 列表有条目。 - 再加
sort,再加limit,最后filter—— 每层后 rebuild 并重查。 - 打开一条详情路由;多 locale 时逐个确认。
- 强制空 source,确认组件空态(见该单元页)。
下一步
- 文档壳而非博客列表:文档 board
- 单篇 Markdown 当幻灯片:文章中的 slides