活跃日历1.0.4
v1.0.4 - 修复活跃数据统计与历史回溯
本次更新重点修复了插件无法正确统计新发布内容,以及历史活跃度无法正常回溯的问题。
🐞 修复新发布内容不计入活跃度的问题
修复了插件首次扫描到新文章时,因为缺少上一版本基线数据而直接跳过统计的问题。
此前可能出现以下情况:
- 新建文章并直接发布后,活跃度仍然显示为 0;
- 新发布内容不会出现在当天活跃度日历中;
- 只有后续再次修改内容时,才可能产生统计数据。
现在:
- 新创建的文章可以正常计入活跃度;
- 新发布内容会自动生成对应的创作贡献;
- 不再因为首次扫描缺少历史状态而跳过统计。
🕒 修复历史活跃度日期错误
此前历史数据重建时,所有旧文章生成的活跃记录都会被错误写入“当天”,导致:
- 过去年份的活跃度日历仍然为空;
- 旧文章贡献无法显示在原本的发布时间;
- 历史数据全部集中到当前日期。
本次更新后:
- 已发布文章优先使用原始
publishTime作为历史活跃日期; - 历史内容会重新分布到对应年份和日期;
- 可以更合理地恢复插件安装前已有内容的历史贡献。
🔄 优化历史数据自动重建
新增并优化启动时的历史扫描逻辑。
插件启动后会自动:
- 扫描已有文章;
- 扫描已有独立页面;
- 获取内容作者;
- 获取正文内容量;
- 获取发布时间;
- 根据现有数据生成历史活跃记录。
无需再手动执行历史数据重建接口即可完成基础初始化。
📊 优化历史活跃度计算
修复历史正文统计方式不一致的问题。
此前部分历史统计直接使用字符串长度计算,现在统一使用插件的正文单位统计逻辑,使历史数据与实时统计结果更加一致。
历史活跃度主要基于:
- 内容作者;
- 正文内容量;
- 发布时间;
- 发布状态;
- 当前可读取的历史内容信息。
⚡ 优化实时扫描机制
- 内容扫描周期由约 15 秒调整为约 10 秒;
- 提升新内容和修改操作被识别的速度;
- 优化首次发现内容时的状态判断逻辑;
- 减少新文章被错误当作“仅建立基线”而跳过的情况。
🧩 防止历史数据重复累计
优化历史记录 ID 生成方式。
现在历史记录使用稳定的唯一标识,避免:
- 插件重启后重复累加同一篇文章;
- 多次执行历史扫描导致活跃度越来越高;
- 同一历史内容被重复记录。
✅ 保留已有功能
本次更新完整保留:
- GitHub 风格全站创作活跃度日历;
- 每日活跃度颜色深浅显示;
- 鼠标悬停查看当天活跃用户;
- 新增文字统计;
- 内容修改统计;
- 发布内容统计;
- 多用户活跃度汇总;
- 年份切换;
- v1.0.3 Tooltip 位置偏移修复。
⚠️ 关于历史数据精度
Halo 可以提供现有文章的作者、正文、发布时间以及部分 Snapshot 信息,因此插件可以对已有内容进行历史贡献重建。
但对于插件安装前的操作,无法保证精确还原:
- 某一天增加了多少字;
- 某一天删除了多少字;
- 每一次具体编辑动作;
- 每一次修改对应的精确贡献值。
因此:
插件安装前的数据属于基于现有 Halo 内容信息进行的历史贡献重建;插件安装后的新增、修改和发布操作则继续按照实时统计逻辑记录。
📦 推荐升级
建议所有使用 v1.0.2 / v1.0.3 的用户升级至 v1.0.4。
特别是遇到以下问题的用户:
- 发布新文章后活跃度仍然为 0;
- 过去年份一直没有活跃数据;
- 历史重建后数据全部出现在当天;
- 新内容必须修改第二次才会被统计。