管理资料库
资料库是 Crib 里已安装的全部文档。打开方式:菜单“资料库 → 管理资料库…”、工具栏的资料库按钮,或主页的“资料库”。菜单“资料库 → 获取更多版本…”和主页的“获取版本”直接打开“全部版本”。
已安装与全部版本
顶部的分段控件切换两种列表:
| 列表 | 内容 |
|---|---|
| 已安装 | 这台 Mac 上的资料包,包括已停用的 |
| 全部版本 | 已安装的,加上版本目录里还没安装的;未安装的行显示下载大小和安装后大小 |
列表按版本状态分组(默认、常规、历史版本……),含义见版本与别名。每行还标出来源(内置或自行安装)、占用空间,以及是否在当前搜索范围内。
筛选框接受版本号或别名,例如 18、pg17、[email protected]。输入能解析成一个确切版本的别名时,列表只显示那一项。
专家模式
专家模式默认关闭,这时列表只显示“默认”和“常规”两组。打开后,列表还显示历史版本、开发版、无法下载和状态未知的版本,不加版本前缀的搜索也会包含它们。
资料库和正文上方的“版本”弹窗里各有一个“专家模式”开关,两处改的是同一个设置。
启用与停用
已安装的每一行左侧有一个勾选框。勾选或取消后,行内显示“应用后启用”或“应用后停用”,底栏显示“有未应用的更改”。点“应用更改”生效,点“放弃更改”撤回。
- 同一个资料包只能启用一个修订。勾选某个修订时,同一资料包的其他修订会自动取消勾选。
- 已停用的行右侧有“启用”按钮,点它立即生效,不需要再点“应用更改”。
- 停用的版本仍在磁盘上,但不参与搜索,也不能从列表打开阅读。
应用更改时发生什么
- Crib 用勾选的资料包在后台建立一个新的搜索世代(generation)。进度面板依次显示“下载 → 校验 → 建立索引 → 启用”;不需要下载时从“校验”开始。
- 建立期间,旧的搜索世代照常提供搜索和阅读。点“继续阅读”可以关掉资料库窗口,任务在后台继续。
- 新世代建好后原子切换。之后的搜索使用新组合;已经打开的页面继续显示打开时的版本。
切换前点“取消”,旧组合保持不变。失败时资料库显示原因和“重试”。
卸载
只有自行安装的资料包有“卸载”按钮。App 内置的资料包不能卸载,只能停用。
卸载分两步:
- Crib 先切换到一个不含该资料包的组合,这一行标为“待移除”,显示“不再用于阅读和恢复后即可清理”。
- 文件在执行“维护 → 清理不再需要的资料”时删除,前提是没有打开的页面、当前组合或保留的旧组合还在使用它。
卸载不删除笔记、书签和更正。指向已卸载内容的个人资料会保留,内容重新安装后可以再次定位。
导入资料包
点资料库右上角的“导入资料包…”,选择一个 .crib 文件(旧扩展名 .pgdocpack 也可以),或一个已解开的资料包文件夹。导入不需要联网。
Crib 先检查磁盘空间,再解包并逐项校验:签名必须由 App 自带的可信根签发,每个文件的哈希必须与清单一致,数据库结构必须符合格式。通过后,新资料包立即启用,并替换同一资料包当前启用的修订。
以下情况会被拒绝:
- 与已安装的资料包同名同修订、内容却不同。
- 修订号低于当前启用的修订。要回到旧修订,用下面的“恢复资料组合…”。
- 签名密钥不在可信根里,或是开发密钥签名而当前构建不接受开发内容。
现在没有公开发布的资料包。开发构建只能导入用开发密钥签名的测试资料包。格式见资料包格式。
恢复资料组合
每次切换组合时,Crib 保留切换前启用的那一组,以便回退;更早的组合会被释放。
- 点底栏的“恢复资料组合…”,从菜单中选一个保留的组合。
- 预览窗口列出“现在启用 N 项,恢复后启用 M 项”,以及要启用、停用或替换的资料包、修订和语言。
- 点“恢复”。Crib 先完整校验目标组合,再切换。
- 资料库里有未应用的更改时不能恢复,先应用或放弃它们。
- 预览打开后如果组合被别的操作改变,点“刷新预览”后再确认。
- 已打开的页面、笔记和书签不受影响。
维护菜单
| 命令 | 作用 |
|---|---|
| 清理不再需要的资料 | 删除待移除的资料包,以及不再被当前组合、保留组合或打开的页面使用的搜索世代 |
| 备份个人资料… | 把笔记、书签、标签、阅读历史和更正备份成一个 SQLite 文件,见备份个人资料 |
启动时的修复提示
Crib 启动时如果发现当前组合不能用(例如 App 换新后原来内置的资料包不在了,或搜索世代损坏),会自动换到一个可用的组合,并在资料库顶部留一条提示,直到你点“知道了”。提示带“重新启用”按钮时,可以把之前启用的资料包重新启用。
“非正式发布”标记
资料库标题旁的“非正式发布”标记表示:这些资料用开发密钥签名,只用于本地测试。构建声明接受开发内容,或 App 自带的可信根是开发可信根时,就会显示这个标记。
Crib 还没有正式签名密钥,现在所有开发构建都会显示它。