Skip to content

活跃日历1.0.4

Choose a tag to compare

@fhfzfy1231 fhfzfy1231 released this 18 Jul 08:13

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;
  • 过去年份一直没有活跃数据;
  • 历史重建后数据全部出现在当天;
  • 新内容必须修改第二次才会被统计。