场景组件

使用本地内容与数据,配置完整的顺序阅读、版本发布、Landing 页面与 Book 出版流程。

场景组件解决的是一项完整的出版任务,而不是页面中的一个片段。每种场景都用一套严格契约,协同组织内容、本地数据、导航、运行时加载、无障碍与非 HTML 输出。

它与组件参考互为补充:查单个写作原语时看组件参考;当任务跨越多个页面、文件或输出格式时看本章。

选择场景

场景 适用任务 主要事实来源
顺序阅读 手册、Book 或博客需要可靠的阅读顺序 侧栏/内容树与页面元数据
版本发布与下载 发布事实、资产与安装路径必须保持一致 front matter 与 data/download/
Landing 页面 产品页面需要可复用的全宽分区 data/landing/ 或内联分区数据
Book 出版 长篇内容需要编号、引用与整本打印 既有 Book 内容树与稳定页面 ID

共同保证

  • 本地事实:正常构建不会通过远程 API 获取发布状态、star、价格、截图、头像或其他易变事实。
  • 静态优先:渐进增强前的 HTML 已包含完整内容;页面只加载自己确实使用的 JavaScript。
  • 严格输入:参数、标识符、URL、校验和或数据记录非法时,构建会在对应源码位置失败。
  • 感知输出:HTML、print、Markdown 与 RSS 要么得到明确的呈现,要么有意省略只用于交互的内容。
  • 单一导航事实源:可见内容树同时驱动翻页、Book 目录与整本打印顺序。
  • 多语言安全:共享事实按文档规定的后缀回退;叙事数据可以按语言独立维护。

采用之前

请固定拥有这些契约的最低版本:

GO
require github.com/pgsty/oink v0.4.1

使用 Hugo Extended 0.160.1 或更新版本。一次采用一种场景,构建所有已配置输出,并检查每种语言。本地构建、公开主题标签、站点版本固定与线上部署是不同的证据门禁,不要互相代替。

既有 Oink 站点请先阅读 0.4.0 升级指南

顺序阅读与数学公式

配置文档、Book 与博客共用的翻页体系,并使用本地服务端 KaTeX 渲染数学公式。

版本发布与下载

在不调用远程 API 的前提下,让发布事实、归档链接、校验和以及滚动/固定版本下载渠道保持一致。

Landing 页面

使用本地、多语言数据与 Oink 严格校验的分区注册表,组合可复用的全宽产品页面。

Book 出版

使用同一棵导航树、编号组件、稳定交叉引用、生成式索引与整本打印 HTML 出版长篇内容。