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

+27
View File
@@ -0,0 +1,27 @@
{
"note": "WarmIsland 内置本地一言句子库,纯静态数据,零外部请求。站点可自行编辑本文件替换文案。",
"sentences": [
{ "text": "暖如灯火,静如留白。", "from": "暖屿" },
{ "text": "慢慢来,比较快。", "from": "暖屿" },
{ "text": "把日子过成自己喜欢的样子。", "from": "暖屿" },
{ "text": "风会记得每一朵花的香。", "from": "暖屿" },
{ "text": "愿你在忙碌里,仍留一扇看云的窗。", "from": "暖屿" },
{ "text": "写下此刻,便是对时间最轻柔的挽留。", "from": "暖屿" },
{ "text": "山不争高,水不争先。", "from": "暖屿" },
{ "text": "有些答案,要走很远才遇见。", "from": "暖屿" },
{ "text": "夜色温柔,适合读一封长信。", "from": "暖屿" },
{ "text": "把灯留着,等一个晚归的人。", "from": "暖屿" },
{ "text": "心有所栖,便是归处。", "from": "暖屿" },
{ "text": "日常里藏着最不动声色的欢喜。", "from": "暖屿" },
{ "text": "不必催促春天,花自会开。", "from": "暖屿" },
{ "text": "走过的路,都会变成身上的光。", "from": "暖屿" },
{ "text": "一杯热茶,足以安顿一个傍晚。", "from": "暖屿" },
{ "text": "愿你所念之人,也在念着你。", "from": "暖屿" },
{ "text": "安静不是空白,是留给自己呼吸。", "from": "暖屿" },
{ "text": "把复杂留给世界,把简单留给生活。", "from": "暖屿" },
{ "text": "长路漫漫,慢慢走也算抵达。", "from": "暖屿" },
{ "text": "今天也值得被认真记下。", "from": "暖屿" },
{ "text": "微光虽小,足以照亮一隅。", "from": "暖屿" },
{ "text": "在喧嚣之外,给自己留一座小岛。", "from": "暖屿" }
]
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 146 KiB

+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;
}
BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 MiB