增强版Hexo版本检查插件,支持配置选项和增量更新。当博客内容更新时,自动通知访问者刷新页面以获取最新内容。
- 全局版本检查:检测博客整体更新情况
- 增量更新支持:只检查和更新当前页面的变化,提高性能
- 自定义检查间隔:可配置的版本检查时间间隔
- 多主题通知兼容:支持Butterfly等主题的通知系统
- 缓存清理:自动清理多种浏览器缓存(Service Worker、localStorage、sessionStorage、IndexedDB)
- 调试模式:提供详细的调试日志
- 自动刷新:可选的自动页面刷新功能
在Hexo博客的根目录下执行以下命令:
npm install hexo-version-check --save安装插件后,默认情况下插件会自动启用。你可以在Hexo的_config.yml文件中添加配置来自定义插件行为。
# 在 _config.yml 文件末尾添加以下配置
version_check:
enabled: true # 是否启用插件
versionFile: version # 版本文件名称
checkInterval: 300000 # 检查间隔(毫秒),300000表示300秒
autoRefresh: true # 是否自动刷新页面
incrementalCheck: true # 是否启用增量更新检查
debug: false # 是否启用调试模式-
构建时:插件在Hexo生成静态文件后,会:
- 创建/更新版本文件,记录当前博客的版本号
- 生成所有页面的哈希值并存储
- 创建前端检查脚本
-
访问时:前端脚本会:
- 定期检查服务器上的版本文件
- 如果启用了增量更新,会检查当前页面的哈希值
- 当检测到更新时,通知用户并自动刷新页面
- 刷新前清理各种浏览器缓存,确保获取最新内容
| 配置项 | 类型 | 默认值 | 说明 |
|---|---|---|---|
enabled |
Boolean | true |
是否启用插件 |
versionFile |
String | version |
版本文件的名称 |
checkInterval |
Number | 30000 |
检查更新的时间间隔(毫秒) |
autoRefresh |
Boolean | true |
是否在检测到更新后自动刷新页面 |
incrementalCheck |
Boolean | true |
是否启用增量更新检查 |
debug |
Boolean | false |
是否启用调试模式,会在控制台输出详细日志 |
- 确保配置文件中的
enabled设置为true - 启用调试模式(
debug: true)查看详细日志 - 检查版本文件是否正确生成在source目录下
插件已经内置了强大的缓存清理功能,会清理多种类型的缓存:
- Service Worker 缓存
- localStorage
- sessionStorage
- IndexedDB 数据库
如果遇到与其他插件的冲突问题,请先尝试禁用其他可能影响页面加载的插件,然后逐步排查。
如果你想参与本插件的开发或修改,请按照以下步骤操作:
- 克隆仓库
- 安装依赖:
npm install - 进行修改和测试
- 提交Pull Request
本插件基于MIT许可证开源,详见LICENSE文件。
- 修复了模板字符串转义问题
- 增强了缓存清理功能
- 优化了通知系统的兼容性
- 完全重构了插件架构
- 新增增量更新支持
- 添加了多种缓存清理机制
- 优化了性能和稳定性
- 初始版本,提供基本的版本检查功能
感谢所有为本插件做出贡献的开发者和用户!