版本管理
让读者在多个文档版本之间切换,并标记归档版本。
分类:
产品有多个受支持版本时,文档通常也要分版本。OINK 提供两样东西:版本切换菜单和归档版本横幅。
各版本具体怎么部署由你决定——常见做法是每个版本一个子域名或子路径,各自独立构建。
版本切换菜单
在 params.versions 中列出要出现在菜单里的版本:
hugo.yaml
YAML
-
version_menu,string 菜单按钮上显示的文字,通常是当前版本号。
-
versions[].version,string, required 版本标识,显示在菜单项上。
-
versions[].url,string, required 该版本文档站的地址。留空的条目会显示为不可用。
-
version_menu_pagelinks,boolean, default:false 是否把当前页面路径附加到目标版本的 URL 后面。
菜单里可以用 - name: '---' 插入分隔线,把「受支持版本」和「历史版本」分开:
hugo.yaml
YAML
逐页跳转的取舍
version_menu_pagelinks: true
会把当前页面路径拼到目标版本的 URL 上,读者切换版本时停留在同一篇文档。
代价是:目标版本不一定有这个页面。文档结构在版本之间演进,旧版本可能没有新写的页面,读者会撞上 404。
hugo.yaml
YAML
单个版本条目上的 pagelinks: false 会覆盖全局设置,让该版本只跳转到首页。
文档结构在版本间基本稳定时开
pagelinks;差异大时关掉更好——跳到版本首页虽然多一步,但好过 404。
归档版本横幅
在不再维护的旧版本站点上,显式告诉读者:
hugo.yaml
YAML
-
archived_version,boolean, default:false 设为
true时,在每个页面顶部显示归档提示横幅。-
version,string 横幅中显示的当前版本号。
-
url_latest_version,string 指向最新版本的地址。横幅会给出一个链接。
横幅文案随站点语言本地化,不需要你自己写。
部署布局
两种常见做法:
| 布局 | baseURL |
特点 |
|---|---|---|
| 子域名 | https://v1-9.docs.example.com/ |
各版本完全独立,互不影响 |
| 子路径 | https://docs.example.com/v1.9/ |
单一域名,需要托管方支持路径路由 |
子路径部署时
baseURL必须包含该路径,否则搜索索引、页面操作和资源链接都会指向错误位置。这是子路径部署最常见的故障。
各版本是独立构建的:从对应的 Git 分支或标签检出内容,用该版本自己的 hugo.yaml
构建,产物发布到对应地址。OINK 不提供跨版本的单次构建。