fix: 按 Halo 应用市场审核意见整改外部资源与隐私(v1.2.5 修订)

- 默认零第三方自动请求:移除 21 个模板的 preconnect/dns-prefetch、PrismJS+autoloader、qrcode-generator 及内置一言/IP 定位 API
- 一言与代码高亮配色改为自托管;欢迎弹窗自定义 IP 接口改为 opt-in;微信分享改为复制链接;LightGallery 按 GPLv3 使用
- README 新增「外部资源与隐私」「验证与回归测试」章节,修正无效链接并补充字体 OFL 来源;同步 docs 与修正虚构的目录树
- friends 等 12 处 #strings.substring 加空值保护;logo 由两份 1.5MB 压缩去重为单份 146KB
- 新增 pnpm audit:external 与打包前置合规审计;制品补齐 34 个 docs 文档与预览图
This commit is contained in:
nxxy335 committed 2026-11-11 14:37:09 +08:00
1 parent c0ad7331d4
commit dda86294b0
36 files changed
+830 -236

No files matched your search

+22 -7
View File
@@ -120,11 +120,24 @@ v1.2.1 起安装包会保留各版本的哈希资源(v1.1.7 之后全部覆盖
安装并启用插件后,页面会自动显示内容。未安装插件时页面会显示友好的提示信息。
### 一言 API 加载失败?
### 主题会向第三方服务发请求吗?
1. 检查网络是否能访问 `https://v1.hitokoto.cn/`
2. 如果在国内服务器,可能存在网络延迟
3. 可以在主题设置中更换一言 API 地址为自建镜像
**默认不会。** 所有脚本、样式、字体、图标、主题 Logo 与一言句子库都随主题自托管,
页面不预连接任何 CDN,也不加载远程脚本。只有两类例外:
1. 访客**主动点击**分享按钮 / 备案链接 / 应用市场链接时才跳转到对应站点;
2. 站点管理员在主题设置里**显式填写**了「自定义一言 API」或「自定义 IP 定位 API」——
后者会把访客 IP 发送给该服务,请在站点隐私说明中披露。
完整逐项说明见 README 的「外部资源与隐私」章节。发版前可运行 `pnpm audit:external` 复核。
### 一言不显示,或想换成自己的句子?
1. 主题默认读取内置的 `assets/data/hitokoto.json` 本地句子库,不依赖外部服务;
直接编辑该文件即可替换文案
2. 想继续使用在线一言,可在主题设置 → Hero 首屏 → 填写「自定义一言 API」;
此时才会产生外部请求,且「句子类型」筛选仅对自定义 API 生效
3. 若选择「自定义」模式,请在「自定义描述文案」中填写内容
### 文章目录不显示?
@@ -135,9 +148,11 @@ v1.2.1 起安装包会保留各版本的哈希资源(v1.1.7 之后全部覆盖
### 代码高亮不生效?
1. 确认代码块使用了正确的语言标记(如 \`\`\`python)
2. Prism.js 支持自动语言检测,但部分语言需要手动标记
3. 检查浏览器控制台是否有 Prism.js 加载错误
主题**不再自带 Prism.js 运行时**(含 autoloader),因此不会自动给代码块加语法着色:
1. 安装 Halo 应用市场的代码高亮插件,或启用「API 扩展包」的服务端代码高亮
2. 主题设置 → 文章 → 「代码高亮主题」仅切换本地自托管的 Warm / Cold `.token` 配色
3. 确认代码块使用了正确的语言标记(如 \`\`\`python),以便插件识别语言
## 样式相关