Skip to content

Eternlty/hexo-version-check

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

hexo-version-check

npm version

增强版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               # 是否启用调试模式

工作原理

  1. 构建时:插件在Hexo生成静态文件后,会:

    • 创建/更新版本文件,记录当前博客的版本号
    • 生成所有页面的哈希值并存储
    • 创建前端检查脚本
  2. 访问时:前端脚本会:

    • 定期检查服务器上的版本文件
    • 如果启用了增量更新,会检查当前页面的哈希值
    • 当检测到更新时,通知用户并自动刷新页面
    • 刷新前清理各种浏览器缓存,确保获取最新内容

配置选项

配置项 类型 默认值 说明
enabled Boolean true 是否启用插件
versionFile String version 版本文件的名称
checkInterval Number 30000 检查更新的时间间隔(毫秒)
autoRefresh Boolean true 是否在检测到更新后自动刷新页面
incrementalCheck Boolean true 是否启用增量更新检查
debug Boolean false 是否启用调试模式,会在控制台输出详细日志

常见问题

1. 插件不工作或不检测更新

  • 确保配置文件中的enabled设置为true
  • 启用调试模式(debug: true)查看详细日志
  • 检查版本文件是否正确生成在source目录下

2. 浏览器缓存问题

插件已经内置了强大的缓存清理功能,会清理多种类型的缓存:

  • Service Worker 缓存
  • localStorage
  • sessionStorage
  • IndexedDB 数据库

3. 与其他插件冲突

如果遇到与其他插件的冲突问题,请先尝试禁用其他可能影响页面加载的插件,然后逐步排查。

开发

如果你想参与本插件的开发或修改,请按照以下步骤操作:

  1. 克隆仓库
  2. 安装依赖:npm install
  3. 进行修改和测试
  4. 提交Pull Request

许可证

本插件基于MIT许可证开源,详见LICENSE文件。

更新日志

2.0.1

  • 修复了模板字符串转义问题
  • 增强了缓存清理功能
  • 优化了通知系统的兼容性

2.0.0

  • 完全重构了插件架构
  • 新增增量更新支持
  • 添加了多种缓存清理机制
  • 优化了性能和稳定性

1.x

  • 初始版本,提供基本的版本检查功能

鸣谢

感谢所有为本插件做出贡献的开发者和用户!

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published