Commit Graph

388 Commits

Author SHA1 Message Date
8ed0ec1717 feat: 在设置页添加 Mermaid 配置选项
- 新增第 15 个一级分类:Mermaid 图表
- 包含 3 个子分类:基本设置、外观设置、高级选项
- 添加 6 个配置项:
  * 启用 Mermaid 支持开关
  * CDN 来源选择(jsDelivr/unpkg/自定义/本地)
  * 自定义 CDN 地址输入框
  * 图表主题选择(auto/default/dark/forest/neutral)
  * 使用本地镜像开关
  * 调试模式开关
- 在 argon_update_themeoptions() 函数中添加选项保存逻辑
- 更新后续分类编号(高级设置 1516,评论设置 1617,验证码设置 1718,反馈与安全 1819)
- Requirements: 5.1, 5.2, 5.3, 5.4
2026-01-23 22:49:00 +08:00
c7ef81842a feat: 添加 Mermaid 配置管理系统
- 在 functions.php 中添加 9 个核心配置管理函数
- argon_get_mermaid_option: 获取配置选项(支持简短名称和完整名称)
- argon_update_mermaid_option: 保存配置选项
- argon_validate_mermaid_cdn_url: 验证 CDN URL 格式(必须是有效 URL 且以 .js 结尾)
- argon_get_mermaid_theme: 获取当前主题对应的 Mermaid 主题
- argon_get_mermaid_default_config: 获取默认配置
- argon_validate_mermaid_settings: 验证配置选项(CDN 来源、主题名称、布尔值)
- argon_init_mermaid_config: 初始化默认配置(不覆盖已有配置)
- argon_get_all_mermaid_options: 获取所有配置选项
- argon_update_mermaid_settings: 批量更新配置(包含验证)
- 创建单元测试文件验证配置管理功能
- 满足 Requirements 5.1, 5.2, 5.3, 5.4, 5.5
2026-01-23 22:41:59 +08:00
54cbb400b9 feat: 移除 Mermaid 支持并创建需求文档
- 从 settings.php 移除 Mermaid 设置项和选项保存逻辑
- 从 functions.php 移除 Mermaid 代码块预处理函数
- 从 footer.php 移除 Mermaid 加载和渲染代码
- 从 style.css 移除 Mermaid 图表样式
- 删除本地镜像文件 assets/vendor/external/mermaid/
- 创建 mermaid-support-requirements.md 需求文档

原因:WP-Markdown 编辑器保存的 Markdown 源文件中 Mermaid 代码是一整行,
没有真正的换行符,导致 Mermaid 解析器持续报错。所有尝试的解决方案均失败。
需求文档中详细说明了问题原因和推荐的替代方案。
2026-01-23 22:11:09 +08:00
5704531a4d fix: correct condition check in argon_format_mermaid_code 2026-01-23 22:00:21 +08:00
ccd3cfa877 feat: add PHP preprocessing for Mermaid code blocks
- Add argon_format_mermaid_code filter in functions.php
- Decode WP-Markdown escape characters in PHP
- Auto-add newlines for single-line mermaid code
- Simplify JavaScript rendering logic
- Use data-mermaid-code attribute for preprocessed code
- Remove debug console.log statements
2026-01-23 21:56:30 +08:00
b6dc205f90 fix: simplify newline insertion - split and rejoin 2026-01-23 21:51:32 +08:00
0f698213b7 fix: improve newline insertion logic for mermaid 2026-01-23 21:48:48 +08:00
27a3afbf94 fix: auto add newlines for single-line mermaid code 2026-01-23 21:47:30 +08:00
715d6b81a9 debug: verify code before mermaid render 2026-01-23 21:43:44 +08:00
facbf1eae7 fix: use mermaid.render instead of init for WP-Markdown format 2026-01-23 21:37:11 +08:00
2383c9f09d debug: add char code inspection 2026-01-23 21:32:53 +08:00
d11336dd35 debug: add detailed logging for WP-Markdown format 2026-01-23 21:29:46 +08:00
a5a8225ff2 fix: 修复页面底部显示 JavaScript 代码的问题
- 将注释中的 <script> 标签改为字符串拼接形式,避免浏览器提前关闭 script 标签
- 这是导致页面底部出现一坨 JavaScript 代码文本的根本原因
2026-01-23 21:24:24 +08:00
ae4554bcfa fix: 修复 Mermaid 渲染错误 - 改为立即渲染每个图表而非批量渲染 - 修复 className.indexOf 错误 - 添加详细的错误日志 - 缩短日志输出的代码长度 2026-01-23 21:18:45 +08:00
2659bb9131 fix: 支持 WP-Markdown 的 Mermaid 渲染格式 - 添加对 script 标签包裹格式的支持 - 解码 document.write 中的转义字符 - 处理 \\n 为真实换行符 - 同时保持对标准格式的兼容 2026-01-23 21:15:40 +08:00
3a4136acbf fix: 优化 Mermaid 换行符处理 - PHP 端添加关键字后自动插入换行符 - 使用 data-mermaid-code 属性传递原始代码 - JS 端优先读取 data 属性 - 添加更详细的调试日志 2026-01-23 19:21:05 +08:00
b7aac3633e fix: 在 PHP 端处理 Mermaid 代码块换行符 - 在 the_content_filter 中添加 Mermaid 预处理 - 使用正则表达式匹配代码块 - 解码 HTML 实体并重新编码 - 确保换行符在输出时保留 2026-01-23 19:17:57 +08:00
c96e0bdfa3 fix: 使用递归文本节点提取保留换行符 - 添加 getTextWithLineBreaks 函数递归提取文本节点 - 处理 BR 标签为换行符 - 添加换行符检测日志 - 添加错误捕获避免渲染失败 2026-01-23 19:15:24 +08:00
bdfb07980a fix: 优化 Mermaid 代码块识别逻辑 - 使用 textContent 替代 innerHTML 避免 HTML 标签干扰 - 添加 Mermaid 关键字验证,只处理有效的图表代码 - 添加重复处理检测,防止多次渲染 - 延迟渲染确保 DOM 完全加载 - 适配 WP-Markdown 编辑器 2026-01-23 19:12:00 +08:00
6f21bbf690 fix: 过滤 Mermaid 代码块中的 script 标签 - 添加 script 标签检测,防止误识别页面中的其他脚本 - 修复 Parse error TAGSTART 错误 2026-01-23 19:08:38 +08:00
48911f8af6 fix: 修复 Mermaid 渲染方法错误 - 将 mermaid.run() 改为 mermaid.init() - Mermaid 10.x 版本使用 init 方法触发渲染 - 修复 mermaid.run is not a function 错误 2026-01-23 19:04:29 +08:00
a5521b5fb2 fix: 修复 Mermaid 图表解析错误
- 使用 innerHTML 替代 textContent 获取代码内容
- 添加 HTML 实体解码逻辑(&lt; &gt; &amp; 等)
- 确保保留代码块中的换行符
- 修复 'Parse error on line 1' 错误
2026-01-23 19:02:08 +08:00
ddb6e24b3b feat: 为 Mermaid 添加本地镜像支持
- 在设置页添加'使用本地镜像'复选框
- 下载 Mermaid 10.x 库文件到 assets/vendor/external/mermaid/
- 修改 footer.php 支持本地镜像优先加载
- 添加 argon_mermaid_use_local 选项保存逻辑
- 添加 README.md 说明本地镜像使用方法
- 与 Mathjax/Katex 保持一致的实现方式
2026-01-23 18:57:00 +08:00
7feca8f17d feat: 为 Mermaid 添加本地镜像支持
- 在设置页添加'使用本地镜像'复选框选项
- 修改 footer.php 添加本地镜像判断逻辑
- 下载 Mermaid 10.x 本地镜像文件到 assets/vendor/external/mermaid/
- 本地镜像文件大小约 3.3MB
- 勾选后优先使用主题内置版本,提升加载速度
- 添加 argon_mermaid_use_local 选项保存逻辑
2026-01-23 18:55:08 +08:00
627a57c5e9 feat: 添加 Mermaid 图表支持
- 在设置页功能增强分类中添加 Mermaid 图表设置项
- 支持启用/禁用 Mermaid 渲染
- 支持自定义 CDN 地址(默认 jsdelivr)
- 提供 4 种主题选择(默认/森林/暗色/中性)
- 在 footer.php 中添加 Mermaid 库加载和初始化逻辑
- 自动识别 language-mermaid 和 mermaid 类的代码块
- 在 style.css 中添加 Mermaid 图表样式
- 支持响应式布局和夜间模式
- 使用方式:在代码块中指定语言为 mermaid
2026-01-23 18:50:50 +08:00
468f2a0a93 fix: 删除 AI 审查设置中重复的抽查概率设置项
- 删除独立的'抽查基础概率'设置项(已在'检测策略'中包含)
- 优化设置页结构,避免重复配置
- 保持功能不变,只是移除了重复的UI元素
2026-01-23 18:35:40 +08:00
a38f168909 refactor: 移除智能预审查,改为先保存后检测
- 移除所有智能预审查相关的设置和代码
- 评论先保存到数据库并标记为待审核状态
- AI 检测在评论保存后异步进行
- 检测完成后根据结果更新评论状态
- 避免误杀正常评论,提升用户体验
- 所有需要检测的评论都会显示为审核中
2026-01-23 18:32:54 +08:00
244b1725af feat: 优化 AI 审查设置页结构
- 将设置项合并为 4 个逻辑分组:检测策略、关键字管理、AI 配置、处理规则
- 检测策略:整合实时检测模式、抽查概率、智能预审查
- 关键字管理:整合 AI 学习开关和手动添加关键字
- AI 配置:整合 Prompt 模式、置信度阈值
- 处理规则:整合自动处理方式、检测范围、白名单
- 优化界面布局,使用统一的样式和间距
- 添加清晰的标签和分组,提升可读性
2026-01-23 18:19:45 +08:00
fa54d0a673 fix: 优化 Prompt 模式设置,避免与检测提示词冲突
- 将自定义检测提示词移到 Prompt 模式选项内部
- 只有选择「自定义 Prompt」时才显示文本输入框
- 添加平滑的显示/隐藏动画效果
- 优化界面布局,提升用户体验
2026-01-23 18:06:20 +08:00
777e98e17e fix: 修正关键字必查模式的检测逻辑
- 关键字必查模式:只检测触发关键字的评论
- 智能抽查模式:关键字触发或随机抽查
- 全量检测模式:检测所有评论,关键字触发时优先标记
- 优化检测逻辑,使各模式职责更清晰
2026-01-23 18:01:10 +08:00
97836994e5 feat: 添加 AI 垃圾评论检测的设置页选项
- 关键字必查:触发关键字后立即 AI 审核
- AI 主动学习:自动分析管理员决策并优化关键字
- 学习到的关键字:显示 AI 学习的关键词统计
- 智能预审查:在评论保存前进行 AI 审查
- 添加同步检测函数支持预审查功能
2026-01-23 17:54:16 +08:00
225a9257ae feat: AI 垃圾评论检测增强 - 关键字必查和主动学习
- 新增关键字必查机制:触发关键字后立即同步 AI 审核
- 新增 AI 主动学习功能:自动分析误判和漏判,优化关键字列表
- 修复邮件中用户名问题:重新获取评论对象确保使用最新用户名
- 关键字触发的检测优先级最高,立即执行不延迟
- AI 学习的关键字置信度 > 0.7 且出现 >= 3 次自动加入关键字列表
2026-01-23 17:19:39 +08:00
2bf800a13b fix: 修复 AI 垃圾评论检测时邮件提前发送的问题
- 在发送回复通知邮件前检查评论是否被标记为垃圾
- 在发送管理员通知邮件前检查评论是否被标记为垃圾
- 启用 AI 检测时延迟邮件发送至 5 秒,确保 AI 检测先完成
- 垃圾评论不再发送邮件通知,避免垃圾评论达到骚扰目的
2026-01-23 17:12:40 +08:00
f4122f5880 style: 移除 AI 查询页面表格边框线
- 移除表格外边框和内部分隔线
- 保留表头渐变背景
- 保持 hover 效果和交互体验
- 让表格看起来更简洁现代
2026-01-23 17:07:48 +08:00
ded2740f6f style: 优化 AI 查询页面表格样式和文本显示
- 修复信息网格 hover 状态(移除默认背景,hover 时添加背景)
- 优化表格样式:添加圆角边框、渐变表头、hover 动画效果
- 优化表格文本显示:
  * 类型徽章添加图标(文章摘要/评论检测)
  * 时间格式简化(Y-m-d H:i)
  * 标题添加 hover 效果(变为主题色)
  * 识别码添加背景和字间距
- 增强表格交互体验:hover 时行向右平移 2px
2026-01-23 17:06:45 +08:00
31adb00621 style: 优化 AI 查询页面显示样式
- 增大识别码字体和间距,更醒目
- 优化信息网格样式,添加边框和悬停效果
- 统一子标题样式,添加左侧装饰条
- 优化内容框样式,添加左侧主题色边框
- 增强状态徽章样式,更清晰的视觉反馈
- 优化输入框样式,更好的聚焦效果
- 改进响应式布局,移动端更友好
2026-01-23 16:59:01 +08:00
8c5039c933 feat: AI 查询页面显示完整的检测结果
- 添加用户名审查状态显示
- 添加置信度百分比显示
- 添加处理建议显示
- 添加综合分析内容显示
- 管理员记录弹窗同步显示完整信息
2026-01-23 16:53:33 +08:00
b3cd3747d3 fix: 修复 AI 审查历史记录只显示评论审查的问题
- 在批量扫描结果中添加 username_invalid 字段
- 区分显示评论审查和用户名审查
- 在理由前添加审查类型标识(评论审查/用户名审查)
- 保存完整的检测结果到评论元数据
2026-01-23 16:49:44 +08:00
6f78be2312 fix: 统一删除评论按钮样式
- 将删除按钮从 btn-outline-danger 改为 btn-outline-primary
- 与置顶、编辑、回复按钮保持一致的样式
2026-01-23 16:43:16 +08:00
c0e21840f1 fix: 修复评论提交后表单状态未清除的问题
- 将表单重置代码移到 success 回调的最前面,确保优先执行
- 将表单重置与 UI 更新(插入评论、滚动)分离,避免异常影响表单重置
- 确保评论内容、验证码、Geetest 状态都能正确清除
- 修复需要刷新页面才能再次发送评论的问题
2026-01-23 16:41:02 +08:00
882ca001dc feat: 优化 AI 垃圾评论检测 Prompt,增强安全性和准确性
- 参考专业 Prompt 优化三种模式(极简/标准/增强)
- 明确角色定位:严谨的内容安全专家
- 细化审核标准:广告营销、违规信息、恶意内容、垃圾填充
- 添加注入防护:防止 Prompt 注入攻击
- 优化输出规范:统一 JSON 格式,字段明确
- 优化自动处理逻辑:根据置信度和建议智能决策
- 置信度不足时标记为待审核,避免误杀
- 所有检测结果保存置信度、建议和综合分析
2026-01-23 16:29:27 +08:00
bbe94f9073 chore: 删除临时优化脚本 2026-01-23 16:23:05 +08:00
731894f1cd feat: 实现 AI 垃圾评论检测的智能化核心功能
- 添加 argon_get_spam_detection_prompt() 函数,支持三种 Prompt 模式
- 添加 argon_build_comment_context() 函数,构建评论上下文
- 极简模式:快速检测,理由简短,省 token
- 标准模式:详细审核标准,包含置信度和处理建议
- 增强模式:多维度分析,包含综合分析说明
- 上下文增强:包含文章信息和用户历史
- 支持 AI 返回置信度(0-1)和处理建议(auto/review/approve)
- 支持综合分析字段,用于边缘情况的详细说明
2026-01-23 16:22:16 +08:00
5c636a241f feat: 添加 AI 垃圾评论检测的智能化配置选项
- 添加 Prompt 模式选择(极简/标准/增强/自定义)
- 添加自动处理置信度阈值设置
- 极简模式:省 token,快速检测(100-150 tokens)
- 标准模式:平衡准确性和成本(200-300 tokens)
- 增强模式:多维度分析,更准确(300-500 tokens)
- 支持根据置信度智能判断是否自动处理
- 提供不同规模博客的配置建议
2026-01-23 16:20:26 +08:00
167340217f fix: 移除 AI 内容查询页面中的 emoji 图标
- 移除所有区块标题中的 emoji(评论信息、评论内容、AI 检测结果等)
- 移除状态标签中的 emoji(已通过、待审核、回收站、垃圾评论)
- 移除自动操作中的 emoji(已移入回收站、已标记为待审核等)
- 移除功能说明提示中的 emoji
- 保持简洁的文字显示,提升兼容性
2026-01-23 16:13:10 +08:00
f183e03878 feat: 优化 AI 内容查询页面的显示信息
- 添加页面副标题,说明功能用途
- 优化错误提示,增加标题和更清晰的说明
- 为各个区块标题添加表情图标,提升视觉识别度
- 优化字段标签命名(文章标题标题、评论状态当前状态等)
- 为状态和操作添加表情图标(、、、等)
- 优化功能说明文案,添加使用提示
- 管理员记录区添加专属标识
- 评论内容和摘要内容支持换行显示(nl2br)
- 文章 ID 和评论 ID 添加 # 前缀
- 调整字段顺序,将作者信息提前显示
2026-01-23 16:11:53 +08:00
e5ec3de81f fix: 修复评论时间显示不一致的问题
- 将 human_time_diff() 的两个参数统一使用 GMT 时间戳
- get_comment_time('U', true) 返回 GMT 时间戳
- current_time('timestamp', true) 返回 GMT 时间戳
- 确保时间差计算使用相同时区,避免时区转换导致的时间偏差
- 修复了刚发送的评论显示为 8 小时前的问题
2026-01-23 16:06:41 +08:00
776cecd9e7 fix: 删除邮件模板设置中的重复行 2026-01-23 15:59:26 +08:00
e76d346c4b feat: 优化邮件模板设置界面
- 修改输入框默认值为空,避免显示灰色占位文本
- 优化占位符提示,显示占位符说明
- 添加默认模板预览区域
- 优化占位符样式,使用不同颜色区分
- 添加更清晰的说明文字
2026-01-23 15:58:43 +08:00
4712cb469c refactor: 清理孤立代码
- 删除未使用的邮件模板类型(user_register, password_reset, general)
- 删除 style.css 中未使用的 .shortcode-todo 样式(约30行)
- 保留 todo_urge 邮件类型(有实际使用)
- 减少约 120 行冗余代码
2026-01-23 15:49:46 +08:00