Commit Graph
10 Commits
Author SHA1 Message Date
nxxy335 a127d5a314 feat(v1.2.0): 主题配色系统 + Hero 文字效果/一言颜色;修复 /douban 500、友链悬浮光圈裁切、瞬间顶图间距;Halo 版本要求 2.26+
- 新增官方预设调色板 11 套(浅/深双套色板,玻璃/阴影自动跟随),强调色留空跟随配色
- Hero 一言独立颜色配置(浅/深);文字显示效果:阴影/光晕/半透明遮罩/渐变遮罩/容器;默认无效果,移除自带散光
- /douban 适配 plugin-douban 1.2.6 SQLite 扁平化数据结构(item.spec.* -> item.*)
- 友链卡片去掉 overflow:hidden,修复悬浮光圈被裁切;徽章简化为仅显示可达性
- 瞬间页顶图与首条卡片增加间距;theme-color 随配色/明暗联动
2026-09-27 15:16:46 +08:00
nxxy335 a08782a959 fix: 修复记得页 500 与留言板裁切,统一页头,完善友链/瞬间/暗色/排版 (v1.1.12)
记得(/important-dates)
- 修复 500:th:classappend 里 BEM 类名 wi-id__car 的两个 __ 触发 Thymeleaf
  __...__ 预处理,提取片段含引号导致 Could not parse as expression;
  皮肤修饰类改为 wi-id-skin-cool/cute/neutral(表达式内不再出现 __)
- 牵挂的人卡片:倒计时改到右上角与日期卡片一致,生日一行显示不再折行;
  网格改为桌面三列 / 平板两列 / 手机一列
- 页头与订阅/记得统一(标题-副标题-强调线间距)

友链(/links)
- 再次消除两处 __ 预处理隐患:回执修饰类改 wi-links-check-ok/error,
  验证码 onerror 由 th:onerror="|...|" 改为普通静态属性(不参与表达式解析)
- 新增反链/可达性检测徽章:读取 link.status.verification,头像右下角
  绿点=访问正常(反链有效),红点=访问异常或未检测到反链,未检测不显示

留言板
- 移除 -124px 负 margin 补偿(头部卡片顶部被导航盖住的根因),
  装饰引号 top 改为正值不再被 overflow 裁掉

瞬间
- 修复九宫格失效根因:lightgallery 处理时把每张图包进 <a>,导致
  :has(:only-child) 恒真、全部图片退化为单列大图;改为直接把 img
  作为图库项(data-src),瀑布流样式同样补上 4 图 2x2 规则

全局
- 暗色模式配色调为偏中性暖灰(bg #1e1c1a / raised #292623),降低黄褐闷感,
  同步 theme-color 与依赖旧色值的变量
- 正文排版:p 字号 1.05~1.15rem、行高 1.85,H1~H6 逐级放大、层级更清晰

新增「文章组件」插件适配
- 新增 src/styles/_widgets.scss,将插件 --xhhao-com-* 变量映射到主题变量,
  明暗模式自动跟随
2026-09-27 10:09:28 +08:00
nxxy335 28b1f90b26 fix: 修复 /links 页面 500(th:attr 受限求值)并校正友链申请回执 (v1.1.11)
问题:GET /links 抛 TemplateProcessingException ——
"Instantiation of new objects and access to static classes or parameters is forbidden"
定位到 links.html 第 126 行第 978 列:
  th:attr="value=${param.value != null and !#lists.isEmpty(param.value) ? param.value[0] : ''}"
Thymeleaf 对 th:attr 走受限表达式求值,禁止表达式对象的方法调用(#lists.isEmpty 等),
且校验发生在解析阶段,运行时短路(param.value 为 null)也救不了。同样的表达式
放在 th:with 里是合法的 —— 这正是本主题其他页面的既有写法。

修复:
- 全部取值逻辑移入 th:with(采用主题已验证写法 param?.x + x.length > 0 ? x[0] : null),
  输出改用单值属性 th:value,彻底不在 th:attr 里放复杂表达式
- 校正申请回执语义:插件实际回跳参数是 applied=success|error|disabled,
  另有 message / field / value(旧版误判为 applied=true)
  - 统一单条提示:有 message 显示 message,否则成功文案
  - applied=success 用强调色,error 用红色
  - applied=disabled 时隐藏表单,保留「未开放」提示
  - field/value 回填到对应输入框(displayName / url)
- 新增 .wi-links__apply-result--ok 样式
- 版本升至 1.1.11

同时沉淀校验:新增扫描脚本检查构建产物中 th:attr 是否含 #xxx. 方法调用 / new / T() / @bean,
全主题扫描结果为 0。
2026-09-26 20:33:54 +08:00
nxxy335 d3ba189a7d feat: 新增「记得」插件(plugin-important-dates)主题适配页面 (v1.1.10)
- 新增 templates/important-dates.html 覆盖插件默认模板,融入暖屿外观
  - 居中标题区(标题/副标题可配置)+ 强调线,与书架、友链等页面一致
  - 生活 / 爱车双视图切换,地址栏记忆 ?view=car
  - 到期提醒横幅(重要日期 + 座驾到期),支持逐条忽略并记录在本地
  - 重要日期便签卡片:倒计时、日期、农历标记、关联的人
  - 牵挂的人卡片:大头贴(失效回退首字)、昵称、关系、脱敏生日与倒计时
  - 爱车卡片:封面相册、分类品牌、脱敏车牌、到期徽章(临近/逾期)、车主与驾驶人
  - 相册浮层运行时移到 body,避免被 .wi-main 层叠上下文困住而被导航/页脚遮挡
  - 暗黑模式随主题变量自动适配
- settings.yaml 新增 important_dates 设置组(页面标题/副标题)
- 文档:README 插件表、docs/config/important-dates.md、docs/pages/important-dates.md
- 版本升至 1.1.10
2026-09-26 17:30:06 +08:00
nxxy335 9f677a9f0d feat: Hero 背景图完整显示、导航二级菜单、瞬间朋友圈化、友链申请表单 (v1.1.9)
- Hero:背景图 opacity 0.15 -> 1 完整显示(此前近乎透明的背景图是"蒙灰"观感的
  主因);标题/副标题/一言按明暗模式补轻投影保证复杂图片上的可读性
- 导航栏二级菜单:桌面端纯 CSS 悬停/聚焦展开(零 JS),带悬停桥防误关、
  下拉箭头旋转反馈;移动端菜单以缩进子项形式呈现
- 瞬间页朋友圈化:头像(moment.owner.avatar,缺省回退站点名首字占位)+ 昵称
  + 正文 + 九宫格图片 + 时间操作;九宫格遵循微信规则(单图原比例、2/4 图两列、
  其余三列)
- 友情链接页适配 plugin-links 友链申请:同源表单(POST /links/apply/submit +
  csrfToken + GET /links/apply/captcha 验证码图,点击刷新),支持名称/链接/
  Logo/描述/邮箱/反链/RSS 字段、提交结果与错误提示;插件未开放申请时验证码
  加载失败自动隐藏表单;新增 links_apply_form_enabled 开关(默认开启)
2026-09-26 16:14:20 +08:00
nxxy335 c1950e142a fix: 修复笔记弹窗被导航栏和页脚遮挡,书架统计居中 (v1.1.8)
- 笔记弹窗被遮挡:弹窗是 position:fixed 但由 innerHTML 注入在 .wi-main 内,
  .wi-main 自带层叠上下文(z-index:1),弹窗的 z-index:10000 无法超越导航栏
  (z-index:100)和页脚(DOM 靠后的同级 z-index:1)。现注入后将弹窗移至 body 下,
  彻底脱离该层叠上下文
- 弹窗移出 .wr-shelf 后脱离其 --wr-* 变量作用域,为弹窗补独立暗黑适配
  (:global 选择器 + 变量映射 + 面板/关闭按钮/文字兜底),避免深色下回退为墨色文字
- 书架统计数据改为水平居中,紧贴主题标题区(标题+强调线)下方,与全站版式一致
- 暗黑下书架分隔线(--wr-line)比全站 rule 略提亮,年份分组装饰线在深色底可见
2026-09-26 15:29:14 +08:00
nxxy335 032b5601ac fix: 书架页标题与主题统一,修复顶部空白与暗黑下数据看不清
依据插件 WeReadShelfRenderer 的实际输出结构(.wr-shelf / .wr-head-title /
.wr-head-stats / .wr-year / .wr-grid)做针对性适配:

- 标题统一:恢复与订阅/图库/友链页面一致的居中标题区(标题+副标题+强调线),
  隐藏插件自带的 .wr-head-title,避免双标题且样式不统一
- 顶部空白:插件容器自带 clamp(40px,6vw,72px) 顶部内边距,叠加主题边距后
  形成大片空白;现收紧插件 padding-top 并将页面 padding 与其他页面对齐
- 暗黑适配:插件为苹果风格浅色配色(--wr-* 变量、#1d1d1f 墨色文字),深色
  背景下统计数字几乎不可见。现通过覆盖 --wr-* 变量 + :where() 零特异性
  文字兜底接管配色,不破坏插件自身显式样式;笔记弹窗浅色底同步处理
2026-09-26 13:55:41 +08:00
nxxy335 d01664197f feat: 暗黑模式对比度优化与书架页标题调整 (v1.1.7)
暗黑模式
- 核对全部 19 个页面均加载含 html.dark 变量的样式表,暗黑配色全局生效
- 深色背景下人眼对低对比更敏感,调整暗黑变量提升可读性:
  次要文字 --ink-3 对比度 2.43 -> 3.12,分隔线 --rule 1.23 -> 1.42,
  卡片底色 --bg-raised 提亮以增强层次,--ink-2 5.63 -> 6.28

书架页
- 移除主题自带的"书架"大标题,避免与插件返回内容中的标题重复
- 保留副标题(默认"来自微信读书的同步藏书"),清理失效样式
- 页面标题配置项改为仅作用于浏览器标签,并补充说明
2026-09-26 13:28:41 +08:00
nxxy335 bcc221c3bd fix: 修复首页卡片字数与 Hero 滚动,移除光感跟随 (v1.1.6)
修复
- 首页文章卡片开启"显示字数"后无效果:该配置项此前只有声明没有实现,现已在文章流卡片接入服务端字数统计(依赖 API 扩展包,未安装时自动隐藏)
- Hero 下滑箭头滚动不到位:Hero 为固定背景(position: fixed),此前箭头额外减去了导航栏高度,导致内容区上方始终露出一段 Hero 渐变;现与滚动吸附逻辑对齐,内容区顶部直接对齐视口顶部
- 鼠标点击特效开启后无效果:特效类型默认值为 off(关闭),开启开关但不选择类型时静默不生效;默认值改为"社会主义核心价值观"

移除
- 移除鼠标光感跟随功能及对应配置项

优化
- 上下篇导航:新增方向箭头与悬停反馈(背景、位移、变色),移动端收紧内边距
- Hero 一言自动刷新改为淡出→换文案→淡入的过渡动画,避免生硬跳变
- README 全面更新:环境要求、插件适配表(新增微信读书与 API 扩展包)、自定义页面模板、功能说明、目录结构与开发注意事项
2026-09-26 12:29:28 +08:00
nxxy335 430d107d44 feat: 完善主题功能并适配插件 (v1.1.5)
功能新增
- 新增页面布局契约 templates/layout.html,插件前台页面可复用主题外观,避免回退到 Halo fallback 布局
- 新增微信读书页面模板 (weread.html),集成 halo-weread-plugin 书架
- 新增订阅页面模板 (page_subscriptions.html)
- 新增欢迎弹窗组件(IP 地理定位,多 API 容错)
- 新增点击特效组件(9 种效果)
- 页脚新增全站统计,支持开关与统计项配置,默认开启

插件适配
- 适配 extra-api:文章字数改服务端统计、正文可选中英混排与服务端代码高亮
- 修正各页面插件应用市场链接与插件名

修复
- 修复文章正文图片/视频无法居中(正文样式移至全局,scoped 样式对 Thymeleaf 注入内容无效)
- 修复正文 H1-H6 字号过大,重排层级与移动端断点
- 修复 th: 属性中文字符串缺少引号导致的 Thymeleaf 解析异常(/links、/moments 500)
- 修复 JS 内联表达式与 Thymeleaf 内联语法冲突,全部内联脚本加 th:inline="none"
- 修复移除 i18n 后 steam 页 Elvis 表达式回归问题
- 修正订阅页 th:attr 引号嵌套错误

优化
- Hero 移除灰色遮罩,下滑箭头改为可点击平滑滚动
- 优化目录样式:移除圆点与下拉箭头,支持两行显示,修复长目录截断
- 移除 i18n 多语言支持

清理
- 移除未使用的 Vue/图标依赖与废弃脚本、重复资源
2026-09-26 11:18:52 +08:00