• 1.2.7 6ab408ca4f

    1.2.7 Stable

    nxxy335 released this 2026-11-11 22:58:56 +08:00 | 1 commits to main since this release

    WarmIsland 暖屿 v1.2.7

    合规与隐私

    • 默认零第三方自动请求:移除 21 个模板对 cdn.jsdelivr.net 的 preconnect / dns-prefetch,脚本、样式、字体、图标、句子库全部随包自托管
    • 移除远程运行时:文章页不再自带 PrismJS 1.29.0 / autoloader / qrcode-generator;代码高亮交由应用市场高亮插件或 API 扩展包,主题保留 Warm / Cold 本地配色;微信分享改为复制链接
    • 三个可选 API 改为管理员显式配置
      • Hero「描述文案来源」默认「无」,不渲染一言元素、零请求;选「一言」时已预填 https://v1.hitokoto.cn/,留空则回退内置本地句子库
      • IP 定位主 / 备选接口默认留空,候选 https://myip.ipip.net/json、https://r.inews.qq.com/api/ip2city?otype=json
      • 仅填写后才会发起请求;IP 定位会暴露访客 IP,需自行在站点隐私说明中披露
      • 设置项提示精简为功能说明,完整披露统一放在 README「外部资源与隐私」
    • README 新增逐项隐私披露与「原创声明」(完全原创、无上游派生);LXGW WenKai 的 SIL OFL 1.1 全文随包,LightGallery 按 GPLv3 使用并去掉占位 licenseKey
    • Logo 由两份 1024×1024 压缩去重为单份 256×256(约 146KB)

    安全与稳定性

    • 文章页 JSON-LD 不再用 th:utext 把标题 / 摘要 / 作者 / 封面拼进 <script>,改为「转义写入 <meta> → JSON.stringify → textContent」,避免脚本闭合标签注入
    • 瞬间正文 content.raw 兜底改 th:text(4 处);#strings.substring(x, 0, 1) 全部加判空,修复作者为空时页面 500
    • 打包前置校验模板 / 资源 / 版本一致性,杜绝「升级后首页 404」的空壳包;compat/assets 保留历史哈希资源,旧缓存 HTML 不再请求到已删除的 CSS
    • 新增 pnpm audit:external 与 pnpm smoke(JSON-LD 桩 DOM 验证),拦截远程加载、README 死链、字体许可证缺失;修正上架说明无效链接

    功能与文档

    • 修复正文引用块文字下方留白过大(外边距叠加),并折叠编辑器生成的空段落
    • 「朋友圈」(plugin-friends)已不再提供:feed / RSS 聚合改由官方「链接管理」(PluginLinks)插件的订阅承担;新增订阅配置 / 页面文档,删除旧朋友圈文档;friends.html 与旧分组仅兼容旧站点
    • 全文统一 Halo 要求为 2.27.0+,清理与代码不符的描述,补齐欢迎弹窗 / 订阅 / 微信读书三个分组文档(17 组 / 126 项全部有文档覆盖)
    • README 精简重排(331 → 237 行),移除自证式合规宣言与回归清单,保留 5.1 披露、许可与原创声明
    Downloads