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

+77
View File
@@ -0,0 +1,77 @@
/* WarmIsland 自托管代码配色(Cold / 深色,参考 Prism Tomorrow 配色)
- 仅定义 .token.* 语法着色,供 Halo 代码高亮插件或「API 扩展包」服务端高亮输出使用。
- 主题本身不再加载 Prism.js / autoloader / 任何远程脚本。
- 本文件随主题分发,不含 @import、url()、远程字体或外部请求。
*/
pre[class*="language-"],
code[class*="language-"] {
color: #cccccc;
background: none;
text-shadow: none;
}
pre[class*="language-"] {
background: #2d2d2d;
border: 1px solid rgba(255, 255, 255, 0.08);
}
.token.comment,
.token.prolog,
.token.doctype,
.token.cdata {
color: #999999;
}
.token.punctuation {
color: #cccccc;
}
.token.property,
.token.tag,
.token.boolean,
.token.number,
.token.constant,
.token.symbol,
.token.deleted {
color: #f2777a;
}
.token.selector,
.token.attr-name,
.token.string,
.token.char,
.token.builtin,
.token.inserted {
color: #99cc99;
}
.token.operator,
.token.entity,
.token.url,
.token.variable {
color: #f99157;
}
.token.atrule,
.token.attr-value,
.token.keyword {
color: #cc99cc;
}
.token.function,
.token.class-name {
color: #6699cc;
}
.token.regex,
.token.important {
color: #ffcc66;
}
.token.bold {
font-weight: 600;
}
.token.italic {
font-style: italic;
}
+77
View File
@@ -0,0 +1,77 @@
/* WarmIsland 自托管代码配色(Warm / 浅色)
- 仅定义 .token.* 语法着色,供 Halo 代码高亮插件或「API 扩展包」服务端高亮输出使用。
- 主题本身不再加载 Prism.js / autoloader / 任何远程脚本。
- 本文件随主题分发,不含 @import、url()、远程字体或外部请求。
*/
pre[class*="language-"],
code[class*="language-"] {
color: #4b4038;
background: none;
text-shadow: none;
}
pre[class*="language-"] {
background: #f7f2ec;
border: 1px solid rgba(90, 70, 55, 0.1);
}
.token.comment,
.token.prolog,
.token.doctype,
.token.cdata {
color: #8c8279;
}
.token.punctuation {
color: #7a6f66;
}
.token.property,
.token.tag,
.token.boolean,
.token.number,
.token.constant,
.token.symbol,
.token.deleted {
color: #b04a3c;
}
.token.selector,
.token.attr-name,
.token.string,
.token.char,
.token.builtin,
.token.inserted {
color: #567c4e;
}
.token.operator,
.token.entity,
.token.url,
.token.variable {
color: #8a6b3f;
}
.token.atrule,
.token.attr-value,
.token.keyword {
color: #a0527f;
}
.token.function,
.token.class-name {
color: #3f6e9e;
}
.token.regex,
.token.important {
color: #bd7423;
}
.token.bold {
font-weight: 600;
}
.token.italic {
font-style: italic;
}