跳到主要内容

ARC 2.0.0-beta.25

路由与语言参考

把已声明 page/content 映射为 route family,再添加 locale variant 而不复制一棵站点树。

此表是当前 route-family 参考。它描述 route shape,不代表可以声称每一个未来 slug 都不会碰撞。

声明route family
pages/index/首页 /
pages/about/命名页面 /about/
content/articles/first-post/collection/detail family,例如 articles/first-post/
有 tag 的 content collectionarticles/tags/<tag>/ 及 pagination 形态
开启 archive 的 collectionyear/month archive family

search 是内置路径;collection 内 tagspagefeed.xml 有专用含义。archive、pagination、tag 与 feed rule 因而可能遮蔽看似普通的 slug。大规模内容迁移前先选择 collection type 名称和常用 slug,再 build 并检查对应 route family。

locale variant

.web/site.yaml 声明默认 locale 和支持集合:

yaml
locale: en
locales:
  - en
  - zh

随后只在内容确实不同的位置使用同级 locale variant:

默认locale variant
content.mdcontent.zh.md
layout.auplayout.zh.aup
seo/titleseo/title.zh
seo/descriptionseo/description.zh

locales 缺失时,runtime 可从 .aup/locales/*.json 推出兼容 locale 集。新站点应在 site.yaml 写清实际支持集,让作者、build 和 review 共享一份显式合同。不要为同一页/对象的翻译在每处建立 en/zh/ 目录。

navigation 不是 routing。menu link 不会创建页面;页面目录也不会决定每个 menu 是否应展示它。先解决 route,再独立做 navigation 的信息架构决定。

流程说明见 路由、导航与语言