Folio 的内容组织写在 Frontmatter 里,而不是写死在站点代码里。改导航时不需要搬动文件;搬动文件时才需要同步修改链接。
三层归属#
| 层 | 写在哪里 | 决定什么 |
|---|---|---|
collection |
页面 Frontmatter | 进入哪个文档侧栏 |
section |
页面 Frontmatter | 侧栏中的哪个分组 |
order |
页面 Frontmatter | 分组内的阅读顺序 |
没有 section 时,group 作为分组标题。没有 collection 的页面回落到字面量「文档」。
一个例子#
---
title: 编写内容
description: 写作流程与发布前检查。
group: 写作
collection: 指南
section: 写作
order: 11
type: doc
---侧栏会按 collection 与 section 聚合:
指南
├─ 开始
│ ├─ Folio 是什么
│ ├─ 快速开始
│ └─ 内容协议
└─ 写作
├─ 编写内容
├─ 内容类型与路由
├─ Frontmatter 与元数据
├─ 内容组织与排序
└─ Markdown 写作排序规则#
doc:按order升序;相同order按路由字典序。article:按date倒序优先,再按order。- 隐式目录(没有
index.md的目录):使用子节点最小的order。 - 排序值相同不保证编辑顺序,建议留出间隔:
10、20、30,避免插入时重排整组。
与站点配置的区别#
三个概念容易混:
collection/section:写在内容里,决定文档侧栏。config.collections:写在站点配置里,决定是否生成集合索引页。config.navigation:写在站点配置里,决定顶部入口与高亮。
它们可以同名对齐,也可以独立变化。站点配置不覆盖页面里的 collection。
文章与独立页面#
文章按日期排序,不进入文档侧栏;它的入口通常来自集合索引页或首页。独立页面不参与侧栏与分页,但必须从至少一篇文档链入。
检查清单#
- 新增页面复用了已有
collection与section。 order与相邻页面保持间隔,不为了插入而整组重排。- 文章写了
date,文档没有误用日期排序。 - 独立页面至少有一个文档入口。
- 页面移动后更新站内链接与外部引用。