开发者
版面由 Zone 决定, 数据和规则由平台管理。
Zone 是
主题
先设置,再写代码
每个 Zone 都从一套默认主题开始,可以调整信息密度、页面底色和封面比例,也可以自选强调色,再安排精选、书架、热门排行和编辑推荐等模块。设置无法实现所需布局时,才需要编写代码。

设置
一组主题设置
const tokens: ZoneTokens = {
colorScheme: 'system',
accent: '#3b4a5a',
density: 'comfortable',
cardRadius: 'md',
headingFontScale: 'md',
surfaceTint: 'subtle',
fontPairing: 'serif',
pageSurface: 'flat',
coverStyle: 'portrait',
};插槽
将代码填入具名插槽
展示
export default defineZonePackage({
slug: 'anime',
css,
catalogue: { count: 'episodes',
formatNames: animeFormatNames
},
slots: {
browseHeader:
AnimeBrowseHeader,
workCard: AnimeCard,
cataloguePanel:
AnimeCataloguePanel,
footer: AnimeFooter,
},
});边界
软件包的边界
不自行
获取数据 数据由平台读取后送入插槽,软件包不会发起请求。
不接触凭证
不会读取 Cookie、浏览器存储空间或任何凭证。
不遮挡平台界面
账户菜单、Zone 菜单、举报和年龄确认都在插槽之外,每部作品的“为何入选”标记也会保留。
样式只
影响 自身 样式仅限于这个 Zone 的范围,颜色和字体只使用平台提供的变量。
限制
文件 大小 gzip 压缩后的 CSS 不超过 40 KiB,JavaScript 不超过 50 KiB。
发布
从审核到发布
计算哈
希值 软件包的所有文件会合并计算出一个哈希值。任何一个字节发生变化,哈希值都会不同。
由他人
审核 另一个账户会检查源代码、构建文件、无障碍情况和出错时的表现,并记录决定和证据的哈希值。
启用并
设置到 期日 只有经过审核的版本才能启用,而且会设置到期日。恢复旧版本也不会让旧的批准重新生效。
随时切回
标准 版面 哈希值不匹配时会显示标准版面。读者可以关闭软件包,或在网址中添加 ?safe 进入安全模式,平台也有全站总开关。
后端只有
新的社区站点不需要新的后端程序。展示代码只读取公开 API,不包含业务逻辑,Zone 能展示的数据也都能通过 API 读取。