Repository navigation
PageLinkMode v0.6.2 重点改进了 Discourse 论坛(如 linux.do)中的导航识别与执行一致性,并将论坛导航纳入可配置的基础分类、预设和用户规则体系。
重点修复
主题标题与整行点击行为一致
- 修复 Discourse 主题列表中“点击标题打开新标签,但点击同一行空白区域仍在当前标签跳转”的问题。
- 点击主题行空白区域时,现在会复用该行标题链接的目标和分类规则。
- 行内按钮、输入控件、标签和其他操作入口仍交给网页原生逻辑处理,不会被错误当成主题标题。
新增论坛导航分类
基础分类由 27 类扩展至 29 类:
| 新分类 | 识别内容 | 适中预设 | 深入预设 | 最广预设 |
|---|---|---|---|---|
| 论坛类别与标签筛选 | 主题列表中的类别、标签和局部筛选入口 | 同标签页 | 同标签页 | 同标签页 |
| 论坛帖子时间轴/定位 | 首帖、末帖、帖子日期和时间轴定位入口 | 保持原生 | 同标签页 | 新标签页 |
这两类导航可继续通过全局基础分类、站点分类覆写和个性化规则单独调整,不需要为 linux.do 写死整站行为。
兼容性与准确度
- 将 Discourse 选择器限制在明确的论坛上下文内,避免普通博客中的
post-date、discourse-tag等同名样式被误判。 - 主题标题继续归入“列表与卡片详情”,保持原有新标签策略。
- 引用回跳等帖子动作控件继续保持原生,避免破坏网页交互。
- 新增分类已接入配置保存、备份导入、旧配置迁移、调试记录和规则模拟。
升级方式
- 下载下方的
dist.zip并解压。 - 在 Chrome 扩展管理页打开开发者模式。
- 使用解压后的
dist目录更新扩展,或对现有未打包扩展点击“重新加载”。 - 刷新已经打开的网页,使新的内容脚本生效。
已有 schema v4 配置会继续保留;新增分类会按当前预设补齐安全默认值。
验证结果
- TypeScript 类型检查通过。
- 93 个单元测试全部通过。
- 18 条真实 Chromium E2E 全部通过,其中包含 Discourse 整行脚本导航回归场景。
- 生产构建通过,
dist与dist.zip共 20 个文件并逐字节一致。
下载与完整变更
- 推荐安装包:下方 Assets 中的
dist.zip - 完整代码变更:v0.4.1...v0.6.2