- 新增
params.pageBackgroundBlur.enabled和params.pageBackgroundBlur.max配置,博客主人可以手动开启、关闭并调整页面背景的最大模糊半径。 - 页面背景模糊与顶栏毛玻璃效果分离,模糊只作用于背景,不会影响正文内容;示例博客默认启用
8px。 - 更新
argontheme.js的资源版本号,避免生产环境继续使用旧缓存。
- 对照原版 Argon 的
argontheme.js和style.css,恢复顶部导航栏在 Banner 上方保持透明清晰、滚动后逐渐增加主题色背景并启用blur(16px)的效果。 - 根据
toolbar.blur配置决定是否启用毛玻璃;补充无 Banner 页面处理、滚动边界保护和窗口尺寸变化重新计算。 - 使用
requestAnimationFrame合并滚动更新,减少高频滚动事件对页面性能的影响。 - 为
argontheme.js增加版本参数,避免生产环境继续加载旧缓存。
- 修复生产部署时遗漏
GITHUB_ADMIN_ID导致管理员登录提示“未配置”的问题,并将管理员账号数字 ID 固化到生产 Wrangler 配置。 - 后续生产部署统一使用
wrangler deploy --keep-vars,保留 Cloudflare 中已有的 OAuth 变量和 Secret,避免再次被配置文件覆盖。 - 已重新部署 Worker,并只读验证管理员 OAuth 入口返回 302、正式站点接口返回 200。
- 评论管理页现在保留软删除评论的作者、原文、GitHub ID 和时间,管理员可单独彻底删除“评论已删除”墓碑;墓碑有回复时会先将回复提升到原父级。
- 新增评论黑名单/白名单模式和 GitHub 数字 ID 名单管理;黑名单用户的已有评论对公众隐藏为删除状态,白名单模式只允许名单用户进行评论操作。
- 发布、回复、编辑、删除、点赞均在 Worker 端重新校验名单策略,不能仅通过绕过前端按钮获得权限。
- 评论管理 UI 增加策略切换、名单添加/移除、拉黑/解除拉黑和墓碑彻底删除操作,并沿用后台主题色与亮暗模式。
- 已完成 Worker、后台脚本和评论脚本语法检查,并审查了 OAuth/PKCE、会话 Cookie、CSRF、Origin/Fetch Metadata、管理员授权、名单后端强制校验、Markdown 输出和远程头像 URL。
- 修正名单头像 URL 的协议与长度边界;生产 Wrangler 配置显式关闭 workers.dev 和预览 URL,缩小非生产入口。
- 主题已推送,Worker 已部署;博客 gitlink 已更新并推送,正式站点正在由 GitHub Pages 发布。
- 为
/admin/、/admin/views/、/admin/comments/和/admin/login/增加亮色/暗色模式切换按钮。 - 后台复用博客的
Argon_Enable_Dark_Mode和argon_custom_theme_color状态,并读取博客首页的自动模式配置与主题色。 - 后台页面的面板、表格、表单、状态提示和导航均补齐暗色配色;更新资源版本号避免浏览器继续使用旧缓存。
- 删除
VIEW_COUNTER_ADMIN_KEY、管理员密钥登录接口及其前端表单、CORS 头和部署文档。 - 管理员会话绑定
GITHUB_ADMIN_ID;旧密钥会话不会继续获得后台权限。 - 保留
VIEW_COUNTER_KEY(前端阅读量 API 所需)以及 GitHub OAuth 必需的GITHUB_CLIENT_SECRET。
本文件按时间记录主题仓库的重要改动和验证结果。当前清单见 todo.md。
- 增加 Cloudflare Worker + D1 阅读量方案、客户端批量读取和
/settings/管理入口。 - 增加 D1 自动建表、阅读量缓存刷新和配置键映射。
- 关闭未配置 endpoint 时的无意义请求;修复暗色模式分页按钮样式。
- 统一使用
navigation.js管理跨路径导航和页面生命周期。 - 将代码高亮、分享、搜索、GitHub 卡片、评论图片、折叠、Pangu、Clamp、Zoomify、lazyload 和 Banner 拆为按需模块。
- 完成图片处理、资源指纹、SRI、缓存策略、文章目录、代码块背景和页面布局整理。
- 清理第三方评论方案,保留自建评论挂载点和空接口。
- 完善
.gitignore,忽略构建物、缓存、临时目录和本地敏感配置。
- 修复时间线、留言板和作者页信息卡片的尺寸与位置。
- 修复页脚重复 Hugo 文案、移动端分页、代码高亮双层背景和评论布局。
- 恢复 Argon 原评论结构,使回复位于主评论下方。
- 评论正文支持安全 Markdown、换行、数学公式、头像和嵌套回复;不执行用户 JavaScript。
- 修复
avatarWrapper残留引用导致的评论加载失败。
- 增加 GitHub OAuth 授权码 + PKCE、state 校验、D1 用户、会话和退出登录。
COMMENTS_ALLOW_GUESTS=false时,Worker 强制要求 GitHub 登录发表评论。- 增加 CSRF Token、Origin/Fetch Metadata、JSON Content-Type、GitHub 请求超时、安全响应头和 Cloudflare Rate Limiting。
- 生产 Origin 收紧为正式站点;本地开发改用独立
wrangler.local.jsonc。 - 评论脚本缓存版本更新到
comments-5,确保浏览器发送 CSRF Token。 - Worker 当前生产版本:
c872e8f6-cce8-481d-be25-37bd5e38d630。
- 根目录 README 增加后端教程入口,集中说明主题安装、配置、页面、短代码和后端边界。
- 重写
cloudflare/view-counter/README.md,补充 D1、Worker、GitHub OAuth、评论配置、本地开发、安全规则和验证步骤。 - 将
todo.md收敛为 Goal 与清单;本文件只保留精简时间线。
- 增加
PUT /api/comments/:id编辑接口和DELETE /api/comments/:id软删除接口。 - 后端以 GitHub ID 做最终授权,补充
updated_at、deleted_at字段和迁移索引;删除保留回复树并隐藏原正文。 - 评论列表返回作者操作权限,前端增加 Argon 风格行内编辑、删除确认、已编辑标记和删除占位内容。
- 评论脚本缓存版本更新为
comments-6,避免旧浏览器继续使用没有编辑/删除控件的脚本。 - 修复评论列表请求遗漏
credentials: include的问题;登录态现在会随列表请求发送,Worker 可正确返回本人评论的编辑/删除权限。评论脚本缓存版本更新为comments-7。
- 编辑后的评论改用编辑时间显示,并标注“已编辑”。
- 删除操作改为红色按钮,第一次点击进入确认状态,第二次点击小型确认按钮才提交删除。
- 评论时间统一按 UTC 保存,新增
comments.timeZoneIANA 配置;博客示例使用Asia/Shanghai,避免把固定UTC+8写进后端。
- 删除父评论但仍有回复时保留回复树,父评论改为紧凑的“评论已删除”占位。
- 只有整棵树的所有节点都删除后,Worker 才物理清理整棵树;初始化时同步清理旧版本中已全部删除的历史树。
- 删除占位改为无头像、无“访客”文本的紧凑标记;评论脚本缓存版本更新为
comments-9。 - 未登录、错误 CSRF、跨来源和越权请求均在本地 Worker 验证为拒绝;生产部署尚未执行。
- 将静态管理入口从
/settings/整理为/admin/,新增后台总览、阅读量管理和评论管理页面,并统一使用 Argon 风格的轻量界面。 - Worker 新增管理员状态、阅读量分页和评论分页接口;阅读量返回站点总量,评论支持文章路径、作者和状态筛选。
- 管理页仅按页读取数据,单页最多 50 条;评论管理复用现有管理员密钥和编辑/删除接口,未改变普通用户权限模型。
- 为
/admin/添加noindex元信息和 robots 禁止抓取规则;本地示例站 Hugo 构建通过,旧/settings/页面不再生成。
- 新增
/admin/login/独立登录页;管理员密钥只提交给 Worker 一次,不再由各管理页面重复填写。 - Worker 新增管理员会话表、登录/会话查询/退出接口,使用 HttpOnly 会话 Cookie 和管理员 CSRF Token;保留旧管理密钥请求兼容性。
- 阅读量和评论管理页改为自动复用会话,并在页头提供退出登录;登录页预留 GitHub 登录入口。
- 后台页面统一改为左栏导航 + 内容区布局;导航由
static/admin/admin.js的模块定义生成,新增管理页面只需增加页面文件和模块项。 /admin/login/接入 GitHub OAuth 管理员登录,复用现有 PKCE 回调并在 D1 中区分 OAuth 用途;只有 Worker 变量GITHUB_ADMIN_ID对应的 GitHub 数字用户 ID 可以签发管理员会话。- 管理员 GitHub 登录继续使用现有
/api/auth/github/callback回调地址,不需要为后台额外注册 OAuth 回调 URL;新增/api/admin/auth/github/start作为后台登录入口。
- 对照上游 Argon 的
comments.php、emotions.php、表情键盘模板和评论处理逻辑,确定采用 Hugo + Worker/D1 重构,不直接搬运 WordPress PHP。 - 增加 Argon 风格表情/颜文字键盘,移植默认颜文字、Emoji、小恐龙和花朵贴纸,并将贴纸放入主题
/static/stickers/。 - 评论表单增加 Markdown、匿名显示和悄悄话选项;匿名仅隐藏公开身份,后端仍保留 GitHub 归属以支持权限和治理。
- D1 增加评论功能字段、私密线程所有者和
comment_edit_history表;编辑前保存旧版本,新增历史查询接口。 - Worker 在 API 层过滤私密评论和私密回复,增加
/api/comments/features能力发现接口;邮件通知和 CAPTCHA 暂不接入,JavaScript 继续禁止执行。 - 复核分页后将公开评论改为按根评论分页,回复树随根评论完整返回,避免跨页后把回复误渲染成新的主评论;
total仍保留全评论数量用于 meta 展示。 - 完成本地 Worker API 烟测、CORS 预检和 JS/Worker 语法检查;Hugo 命令未加入当前 PATH,完整示例站构建待补。
- 本次仅修改工作区,未提交、未推送、未部署。
- 补齐 Argon 风格长评论折叠、Markdown 图片预览、贴纸渲染、平台/浏览器图标化用户代理展示,以及管理员评论置顶接口和后台按钮。
- 置顶仅允许管理员操作未删除、非私密的根评论;公开列表按“置顶 → 点赞数 → 时间”排序。
- 修复点赞接口的后端授权缺口:无论是否允许访客评论,匿名请求都不能写入点赞;访客仍可读取数量并看到同样的按钮,点击时由前端提示登录。
- 通过
node --check、git diff --check;本地 Worker 烟测通过:能力发现、评论读取、CORS 预检、非法 Origin 和无登录点赞均符合预期。 - 使用临时本地 D1 数据验证“置顶根评论 + 回复随树返回 + 根评论分页”后已清理测试数据。
- 示例站显式开启 Markdown、悄悄话和匿名显示选项,便于验收原 Argon 评论表单能力。
- 邮件和 CAPTCHA 仍只保留关闭占位;没有执行 Git 提交、推送或生产部署。
- 使用项目缓存中的 Hugo 0.154.4 完成示例站完整构建,生成 32 个页面和 351 个静态文件。
- 确认文章页输出评论功能开关、分页结构、表情键盘入口和
comments-18脚本;30 个本地贴纸资源随站点输出。 - 启动
127.0.0.1:1315静态示例站与127.0.0.1:8787本地 Worker;浏览器打开欢迎页,文章目录、暗色模式按钮和评论区域无控制台错误。 - API 联调通过:评论读取和能力发现为 200,CORS 预检为 204,非法 Origin 为 403;带有效 CSRF 但未登录的评论和点赞请求均为 401
auth_required。 - 仍待用户在已登录状态下手动验收编辑历史、匿名、悄悄话、表情、置顶、回复树和权限边界;本轮未提交、未推送、未部署。
- 对照原 Argon 评论格式,补回站主评论的“博主”标识和作者 GitHub 主页链接;链接继续限制为 HTTP/HTTPS 并使用新窗口安全属性。
- Worker 返回
isAdminAuthor,前端仅作展示,不参与任何鉴权;重新构建并回归浏览器,评论区域和 GitHub 登录入口正常,控制台无错误。
- 主题提交
9c7219c已推送到jiang068/Hugo-Theme-Argon的main分支。 - Cloudflare Worker
argon-view-counter已部署,生产版本 ID 为dc277cdb-6d24-44c2-a999-ed775142afb5。 - 通过
https://blog-view-counter.fufu.blog/api/comments/features回归验证,评论能力发现接口返回 200,邮件和 CAPTCHA 仍为关闭占位。 - 博客 gitlink 尚待更新到主题提交,完成后再由 GitHub Pages 工作流构建博客。
- 修正表情键盘的明暗模式文字对比度:亮色模式使用深色正文,暗色模式使用浅色正文。
- 按原 Argon 的顺序和间距重新对齐 Markdown、匿名、悄悄话、表情按钮;保留窄屏自动换行。
- 为评论选项勾选框增加背景、边框、焦点光晕和勾选图标的平滑过渡,避免突兀跳变。
- 将评论用户环境从 Font Awesome 字符改为安全创建的内联 SVG 图标,平台、浏览器和用户名保持同一行。
- 将点赞按钮改为 flex 胶囊布局,明确分隔箭头与数量,保留原 Argon 的悬浮/选中状态。
- 将评论底部改成独立 footer:复选项在左,表情按钮自动靠右、发送按钮紧随其后;窄屏自动换行。
- 表情键盘按按钮上下可用空间自动选择向上或向下展开,并在窗口调整和页面滚动时重新定位,避免超出视口无法点击。
- 已通过 JavaScript 语法检查、差异空白检查和 Hugo 示例站完整构建;本条变更待主题推送与博客 Pages 部署验证。
- 统一作者名、博主徽标、平台/浏览器名称和环境 SVG 图标的行内垂直对齐,修正图标视觉位置偏高的问题。
- 按原版评论源码恢复标题行的
inline-block基线排版。 - 恢复环境文字与 SVG 图标的原始字号、间距和垂直偏移,移除自定义 flex 居中规则。
- 直接采用参考源码中的 Windows、Edge、Android、Chrome 和 Linux SVG,不再使用简化重绘图标。
- 保留原 SVG 的
viewBox、路径、渐变、颜色与内联变换;未知环境继续使用安全的本地回退图标。
- 原版 SVG 不添加自定义 class,恢复为直接子元素结构。
- 恢复原版
.comment-useragent > svg选择器,移除额外的 class 偏移和垂直对齐覆盖。
- 保持“博主”文字字号不变,仅缩小徽标内边距,避免徽标外框过大。
- 在保持上下高度不变的前提下,进一步收窄左右留白。
- 将上下左右内边距统一为
3px,使徽标外框保持对称。 - 悄悄话评论不再显示“博主”徽标,避免暴露作者身份。