zqlit
|
448b898e40
|
feat(远端): 恢复自建 Gitea 代码辅仓,OpenList 降为备选备份
用户定案:「自建 gitea 同步一下吧,openlist 也作为备选备份」。
于是把上一轮「撤销全部 git 辅仓」的决定部分回退:在线那一路回到自建 Gitea,
OpenList 上的加密 bundle 从「唯一异地备份」改为「备选异地备份」。
两层不是重复,而是失效模式不同:
· 自建 Gitea(在线、可增量、可浏览)—— 不受任何第三方平台规则约束
· 离线 bundle(离线、单一文件、完整历史)—— 平台全挂也能恢复
一、实际同步
- Gitea 位于 23.254.236.47:3001(Gitea 28.0.0),本机直连即可推,
**不需要广州中转机**(旧结论「沙箱跑不通 git smart HTTP」只针对当时的代理)
- 远端停在 ed38f938(2026-10-04),落后 57 个提交,且是本地 HEAD 的**祖先**
→ 一次 fast-forward 追平,**未强推、未丢历史**
- 同步后 origin 与 gitea 均指向 5f27ad32
二、git 配置
- 恢复 remote `gitea`(凭据编在 URL 里,只落本机 .git/config,不入库)
- `pushall` 回到双推:
!git push origin main; ec=$?; git remote | grep -qx gitea && git push gitea main; exit $ec
· 用 `;` 而非 `&&` → 主仓挂了辅仓照样推
· `exit $ec` → 退出码仍以主仓为准,辅仓成功不掩盖主仓失败
· gitea 段带存在性前置判断 → 没配辅仓时静默跳过,不白报错
三、发布链路恢复 gitea(前一轮刚去掉,现按新定案加回)
- `deploy/editor-api/bootstrap.sh`
· 新增 GITEA_URL / GITEA_USER / GITEA_PASS(凭据必须现给,不写死在脚本里)
· PUSH_REMOTES 默认 → origin,gitea;没给 GITEA_PASS 则降级为 origin
· 恢复「配 gitea 远端」一节;退役远端名单去掉 gitea(只留 gh / gitee)
—— 否则新部署会把现行辅仓当成退役远端清掉
· 结尾补一句「未启用 Gitea 辅仓」的提示
- `docker-compose.editor.yml`、`editor-api/server.mjs` → 默认 origin,gitea
- `editor-api/README.md` → 变量表同步;`editor-api/Dockerfile` → 注释补 http 情形
四、`scripts/setup-cnb-remotes.sh` 改回双远端模式
- 头部沿革、USAGE、凭据段全部重写;GITEA_PASS 走环境变量,不入库
- 退役远端循环只清 gh / gitee;pushall 写同一份定义
五、文档
- `架构总览.md`:§1.2 地址地图加「代码辅仓」行、备份行降为「备选」;
§2 旅程图改双推;§5.1 推送重写(含别名实际定义与三条取舍);
§5.2 远端改双行表 + Gitea 接入细节;§5.3 由「不走 git 远端」改为
「远端与备份的分工」(三层各自的失效模式);§5.6 定位改备选;
§6 待办 #2/#4/#7/#10 更新
- `CNB构建落地方案.md` §4.0 目标形态与定案块、§4.1 第 4 条
- `README.md` 发布流程图、推送说明、脚本表
- `scripts/backup-run.mjs` 头部注释:不再是「唯一备份」
实测:
git push gitea main → ed38f938..5f27ad32 main -> main
git pushall → origin / gitea 双向同步,退出码 0
bash -n 校验 bootstrap.sh 与 setup-cnb-remotes.sh 均通过
|
2026-10-06 21:42:08 +08:00 |
|
zqlit
|
5f27ad321d
|
chore(备份): 异地备份定案为 OpenList 离线 bundle,撤销全部 git 辅仓
用户定案:「辅助仓就用 openlist,其他不再考虑」。
据此把前一轮为 Gitee 铺的路全部收回,git 远端只剩 CNB 一个。
一、git 配置收口
- `pushall` 别名 `origin + gitee` → `!git push origin main`(只推唯一远端)
- 移除 `gitea` remote(自建 23.254.236.47:3001)—— 远端仓库本身没删,
需要时可 `git remote add` 恢复;改动前配置存
`.workbuddy-backup/git-remotes.20261006-211516.txt`
- 确认无 gitee 相关 credential 残留
二、发布链路去 Gitee 化(6 处)
- `deploy/editor-api/bootstrap.sh`
· 删掉 GITEE_URL / GITEE_SSH_KEY 两个变量与「没给私钥就降级」的分支
· PUSH_REMOTES 默认 → origin
· 原「配 gitee 辅仓远端」一节改为「清理退役远端」循环(gh/gitee/gitea),
让从旧部署续用的工作区自动恢复干净
- `docker-compose.editor.yml`、`editor-api/server.mjs` → 默认值 origin
- `editor-api/README.md` → 变量表同步
- `editor-api/Dockerfile` → 注释里的「CNB / GitHub」改「CNB」
- `blog-admin/src/routes/rss/tools.ts` → deploy-notify 的注释里
「与 Gitea Actions 的构建通知配套」改为中性描述
(该轮询链路 2026-10-04 起已被 CNB 国内节点直传取代)
三、`scripts/setup-cnb-remotes.sh` 重写为单远端模式
- 去掉 GITEE_URL / GITEE_TOKEN 参数、校验、凭据写入与自检提示
- 新增「清理退役远端」步骤
- 凭据处理改为「已存在空的 credential.helper 就不再添加」,
不再用 --replace-all —— 本仓另有一个从 `$HOME/.workbuddy/secrets/cnb-token`
读令牌的自定义 helper,那是有效的,不能被脚本抹掉
四、备份升级为「唯一辅仓」的配置
- 保留份数 3 → 7(一周窗口;每份 605.5 MB ≈ 4.2 GB,F50 有 256 GB)
· `scripts/backup-task.cmd` 默认参数 --keep 7
· `scripts/backup-bundle.mjs` 的 KEEP 默认值同步为 7
(原先写的是 2,一直被命令行参数掩盖着)
- 远端目录 `/本地/备份` → `/本地/备份/blog-bundle`:
根目录是用户自己在用的(放着 github-zqlit-*、local-repos-* 等手工备份),
实测发现直接放根下的 bundle 已被清掉 —— 改子目录隔离,避免混放与误删
五、新增 `scripts/backup-run.mjs`:备份的推荐入口 + 失败告警
- 读 `.workbuddy-backup/openlist-backup.env`(只补空缺,环境变量优先)
- 跑 backup-bundle.mjs 并实时透传输出,同时留一份日志尾部
- 退出码非 0 → 经 `scripts/send_mail.js` 发告警邮件(附日志尾部与常见原因);
成功默认不发,`--notify-success` 才发
- 退出用 `process.exitCode` 而非 `process.exit()`,避免截断未排干的 stdout
- 发信失败不改判备份退出码 —— 通知不该掩盖真正的故障
- 理由:这是当前**唯一**的异地备份,而「每天自动跑」的任务最典型的失败模式
恰恰是静默的(F50 被带出门、换了网段、OpenList 没起来、口令改过……),
没有告警就要等到真要用备份那天才发现
- `scripts/backup-task.cmd` 改调它
六、文档
- `架构总览.md`
· §1.2 地址地图:备份行改指 F50/OpenList;通知行补「兼做备份失败告警」
· §2 旅程图:双推改单推,并说明备份换了介质
· §5.1 / §5.2 推送与远端:只剩 origin;补「已移除远端」表与恢复命令;
GitHub 退役记录保留并补上「CI 定义也已删除」
· §5.3 由「辅仓选型」改为「异地备份的定案」—— 明确不走 git 远端;
平台对比数据保留备查,并注明 `bin/linux/hugo` 出库不必再做了
· §5.6 补「唯一备份」定位、专属子目录、失败告警、keep 7、SMTP 配置键,
实测数据更新为本次复测值
· §6 待办:#2 定案、#3 不必做、#4 已移除、#8 已更新、#10 定位升级,
新增 #11(F50 目录使用约定)
- `CNB构建落地方案.md` §4.0:双远端改单远端,脚本示例去掉 Gitee 参数
- `README.md`:推送说明改单推;脚本表补 backup-run.mjs
实测(2026-10-06,本轮复测):
bundle 7.4s / AES-256-GCM 加密 1.3s / 上传 19.2s(31.6 MB/s)
/ 读回 sha256 一致 → 端到端 60.6s,退出码 0
告警邮件链路已实测(发出一封「备份成功」验证信)
★ 一处过程记录,供以后避免重复踩坑:
中途我把「本机沙箱里 `env -u ... cmd > file` 会让输出整个消失」
误判成 process.exit 截断 stdout,并据此改了日志实现;
随后用 `env -u FOO echo hi > file`(同样零输出)证伪 ——
那是沙箱文件重定向的伪影,与脚本无关。相关改动已回滚,
只留下本身无害的 process.exitCode 写法。
|
2026-10-06 21:27:28 +08:00 |
|
zqlit
|
8abe93d17a
|
feat(backup): 整仓离线备份上线 —— bundle 加密后传中兴 F50 上的 OpenList
背景:GitHub 被按 AUP 清空后,用户提出自己的中兴 F50(5G CPE + 内置 256GB)
上跑着 OpenList,想用它当第三层备份。实测可行,已落地并跑通。
为什么是 bundle 而不是直接推 git:
WebDAV 不支持原子的 rename/lock,bare repo 挂上去 push 会让对象写坏 ——
表面成功、实际随机损坏,可能几个月后才发现。bundle 是单文件顺序写,安全。
为什么加密(用户一度想省掉):
历史里含 .env、TLS 私钥、GITEA_SECRETS.md。介质是随身设备的内部存储,
明文 = 把密钥放在一台可能丢失/刷机/送修的机器上。
OpenList 的登录只保护「访问通道」,不保护「存储介质」——拆机就能读。
加密成本实测仅 1.9~2.9 秒、体积不变;且 CNB/Gitea 仍是明文副本,
口令丢失只是少一份备份,不构成单点。
实现(scripts/backup-bundle.mjs,零 npm 依赖):
- git bundle create --all → AES-256-GCM(Node 内置 crypto)
- 布局 magic(8)|salt(16)|iv(12)|密文|tag(16),scrypt(N=32768,r=8,p=1) 派生密钥
- 为什么不用 gpg:本机 gpg 2.4.9 在 Windows 下已损坏(反复 stale lockfile,
node spawn 直接 EBUSY);换内置 crypto 后零外部依赖且带认证标签
- 上传后可选 --verify:下载回来比对 sha256,端到端闭环
- --keep 控制远端保留份数;--decrypt 恢复;--list 盘点;--dry 不上传
定时任务(scripts/backup-task.cmd + Windows 计划任务 Blog-BundleBackup):
- 每天 03:30 本地时间,默认 --verify --keep 3
- InteractiveToken + LeastPrivilege、StartWhenAvailable、1h 超时、IgnoreNew 防重入
- 日志追加到 .workbuddy-backup/logs/backup.log,超 5MB 轮转
★ backup-task.cmd 内容必须全 ASCII:
cmd.exe 按当前代码页(zh-CN 是 GBK)解析批处理文件,而 node 输出 UTF-8。
UTF-8 中文注释会吞掉 CR/LF 并把下一行当命令执行 —— 实测踩到(一条 rem 被当命令跑)。
ASCII 是 UTF-8 子集,纯英文注释与 node 的中文输出混写不会乱。
同理不能用 %date%(含本地化星期),改用系统时间 API 取 ISO 格式时间。
日志轮转的 for 语句必须加 if exist 守卫,否则首次运行报「系统找不到指定的路径」。
实测(由计划任务实际拉起,非手工执行):
bundle 6.8~9.9s(605.5MB)/ 加密 1.9~2.9s / 上传 19.4~20.6s(29.4~31.3 MB/s)
/ 下载回读 sha256 一致,端到端退出码 0
恢复链路已演练:--decrypt → git bundle verify 报 "records a complete history"
→ 1008 提交完整一致
文档(架构总览.md):
- §5.3 从「Gitee 两条硬约束」扩写为「辅仓选型」,补入云效 Codeup 基础版对照
(Git 5GiB + 单文件命令行 200MB)—— 选它则 bin/linux/hugo 不必出库、
构建链路一行不用改
- 新增 §5.6 整仓离线备份(介质 / 为什么 bundle / 为什么加密 / 加密格式 / 用法 /
配置 / 定时任务 / 恢复流程 / 实测数据)
- §6 待办:#2 改为「辅仓选型未定」并说明 pushall 现状;#3 标注只有选 Gitee 才必须做;
#9 补记「不改写历史」的唯一障碍已随 GitHub 消失;新增 #10 备份已上线 + 三项安全待办
|
2026-10-06 21:03:29 +08:00 |
|
zqlit
|
b39dc29753
|
chore(远端): 移除 GitHub,改为「CNB 主仓 + Gitee 辅仓」
起因:GitHub 账号被平台标记,随后仓库被按 AUP 合规条款清空 ——
远端只剩一条孤立提交(无父提交、无内容):
c21d5669 2026-10-06 20:08:32 +0800 zqlit
chore: remove repository content (AUP compliance)
同时远端 main 的历史与本地**完全分叉**:两边只共享 2024-07-11 的 Initial commit,
之后每个提交 SHA 都不同(远端那份 989 提交、剥离了 .env/私钥/大二进制)。
所以 `git push gh main` 无法快进,也不可能再当备份用。
改动:
- `git remote remove gh`(改动前配置存 .workbuddy-backup/git-remotes.20261006-201354.txt)
- `pushall` 别名 → `git push origin main; git push gitee main`
- `scripts/setup-cnb-remotes.sh`:参数化第二个远端为 Gitee,
顺带把「若残留 gh remote 就清掉」做进脚本;Gitee 凭据走 wincred
- `架构总览.md`:§2 发布旅程图、§5.2 远端表、§6 遗留待办全部改指向;
新增 §5.2 的 GitHub 退役记录(含那条孤立提交的原文)
与 §5.3「Gitee 辅仓的两条硬约束」实测核算
- `CNB构建落地方案.md`、`README.md`:远端与 pushall 说明同步
- **发布链路一起去 GitHub 化**(这几处原先都写死了 gh):
· `deploy/editor-api/bootstrap.sh` GH_URL/GH_SSH_KEY → GITEE_URL/GITEE_SSH_KEY,
remote `gh` → `gitee`,known_hosts/私钥文件名跟着改;
保留原设计:**没给私钥就自动降级成只推 origin**,不会让每次发布都报错
· `docker-compose.editor.yml` PUSH_REMOTES → origin,gitee
· `editor-api/server.mjs` 默认值 → 'origin,gitee'
· `editor-api/README.md` 变量表同步
★ 尚未解决 / 需要决策的两条 Gitee 硬约束(详见 架构总览.md §5.3):
1. **单文件 ≤ 50MB,而 `bin/linux/hugo` 是 83.1MB**
—— 不管怎么瘦身历史,只要它还跟踪在 HEAD 里,Gitee 一律拒收。
2. 单仓库 ≤ 500MB,而 `.git` 是 620MB
—— 移出那个 83MB 后 HEAD ≈ 374MB,才有余量。
另:线上 editor-api 容器的 .env 仍是 `PUSH_REMOTES=origin,gh`,
且仓库里还有一个 `gh` remote。因为推送逻辑对辅仓失败只警告、不阻断发布
(`git.mjs`:主仓成即算成),所以**线上发布没有坏**;
但要真正切到 Gitee,需要等 Gitee 仓库与私钥就位后再部署一次。
|
2026-10-06 20:18:29 +08:00 |
|
zqlit
|
c2f890a0f7
|
feat: favicon 边缘缓存 + CDN 整站刷新兜底 + 评论孤儿修复归档
- blog-admin tools.ts: favicon 响应加 s-maxage/CDN-Cache-Control,
让 CF 边缘可缓存,边缘命中即不进 Worker,KV 读取量大幅下降
- scripts/refresh_cdn.js: 裸域名自动补尾斜杠(多吉云 rtype=path 是目录刷新,
https://usj.cc 只刷首页,https://usj.cc/ 才是全站),并打印刷新清单
- 新增文档:评论孤儿修复方案、函数版证书管家方案、诊断报告
|
2026-10-06 12:46:05 +08:00 |
|
zqlit
|
c1f9a0c6f0
|
fix(ci): 全量刷新判定改为「非纯内容改动即全量」+ 刷新分批(又拍云 50/次)
上一版用「themes/layouts/assets 等 dirs 白名单」判全局,实测被绕过:
build 2 的 diff 只有 scripts/purge_list.js(主题改动在上一个 commit),
判成非全局 → 只刷了 10 条固定入口页 → 文章页仍引用已被 --delete 删掉的
旧 page-only.min.1e47477b…(靠 CDN 缓存才 200,缓存一过期即 404)。
改法:
- 判定反转:diff 只含 content/** 才算「纯内容改动」(走精细刷新),
其它一律全量刷 public 下所有 .html。
- 拿不到基线时:push 事件按全量(宁多刷不漏刷),定时任务只刷固定入口页。
- 输出一行 stderr 诊断(base/变更数/纯内容/全量/清单条数)便于事后核对。
- .cnb.yml:清单按 50 条/批 + 批间 6s 调用 upx purge(又拍云限制
单次 ≤50、每分钟 ≤600),并逐批打日志;不再一次性提交 1300+ 条。
|
2026-10-05 17:57:51 +08:00 |
|
zqlit
|
5a50df6e23
|
fix(ci): 主题/layouts/assets 等全局改动时,purge 清单追加全站 HTML
问题:模板用 resources.Fingerprint 生成带 hash 的 JS/CSS 文件名,而 upx sync
带 --delete(远端不存在的文件会被删)。只改主题、不动 content/*.md 时,
purge_list 只输出固定入口页 + content 页 → 文章页的 HTML 仍留在 CDN(TTL 8 天),
里面引用的是**已被删掉的旧指纹 JS** → 评论区/交互断链(实测文章页仍引用
page-only.min.1e47477b…,该文件本轮已不在源站,只是还在 CDN 缓存里)。
修法:diff 命中 themes/ layouts/ assets/ static/ data/ archetypes/ 或
hugo.toml/config.* 时,walk public/ 把所有 .html 加入刷新清单
(本机验证 1336/1336 覆盖)。
|
2026-10-05 17:39:59 +08:00 |
|
zqlit
|
66c27c7b62
|
fix(ci): CDN 刷新清单改为「固定入口页 + 本次改动过的内容页」
又拍云对 HTML 的 max-age 是 8 天,而流水线只刷固定白名单(/ sitemap rss
archives posts comment links)。不在清单里的页面改动后,源站已更新、CDN 仍发
旧副本——本次 about.html 就卡住了(源站 47935B 含新板块,CDN 仍是 41454B)。
- 新增 scripts/purge_list.js:读 git diff 找出改动的 content/*.md,按
slug/url/目录名/文件名推输出页,并校验 public/ 下确实存在才加入
- .cnb.yml 刷新步骤改用它,脚本失败时兜底只刷首页
- git diff 必须带 -z / core.quotepath=false,否则非 ASCII 路径会被转义引号包裹,
校验必然失败(本次踩过)
|
2026-10-05 12:19:28 +08:00 |
|
zqlit
|
571d552c9d
|
fix(build): 消除构建期远程拉取隐患 + 评论提交反馈 + 友链卡片移动端
构建隐患(本次丢构建的根因)
- footer.html 用 resources.GetRemote 在每个页面渲染时拉 api/links 与 api/feeds,
构建节点连不上 Cloudflare 时重试撞穿 Hugo partial 30s 超时 → 整站构建失败
- 改为「流水线 curl 快照 + 模板读本地文件」:
· 新增 scripts/fetch_snapshots.sh,一次拉齐 conf / friend_links / friend_feeds
(--max-time 30 --retry 2,JSON 校验,失败一律删文件且恒 exit 0)
· .cnb.yml Hugo 构建 stage 改为调用该脚本
· footer.html 改读 site.Data.friend_links / site.Data.friend_feeds,缺失渲染空值
· .gitignore 忽略 /data/friend_links.json 与 /data/friend_feeds.json
- 降级实测:删掉快照后构建仍 EXIT=0,产物 friendLinks 为空数组
评论提交反馈(artalk.js 新增 __atkSubmit 模块)
- 校验:config.beforeSubmit 拦下 内容空 / 昵称空 / 邮箱空 / 邮箱格式错(网址不校验)
- 发送中:editor-submit 常驻 loading,超 7s 补「网络较慢」
- 成功:editor-submitted 按 normal/reply/edit 分文案,is_pending 提示等待审核
- 失败:拦 POST /api/v2/comments,403/429/4xx/5xx/网络异常全部翻译成人话
- 失败时输入内容保留,并清掉 Artalk 自带的重复小字通知
- 无头浏览器实测 19/19 通过(POST 走 mock,未向线上写数据)
友链申请卡片移动端
- max-width:640px 下隐藏 .atk-fl-nick(昵称 + 博主徽章),桌面端不变
改动:6 files, +282 / -61
|
2026-10-04 17:38:04 +08:00 |
|
zqlit
|
bcc2236bde
|
ci: 迁移到 CNB 流水线(.cnb.yml)+ 零依赖邮件通知
- .cnb.yml:6 个 stage 顺序执行(Hugo 构建 → 又拍云 sync → 又拍云 purge →
多吉云刷新 → EdgeOne 部署 → 上报状态);push 与每日 09:00 定时任务
共用同一组 stage(YAML 锚点),失败通知走 failStages
- 又拍云保持「非阻断但如实上报」:allowFailure 沿用原版 continue-on-error
语义,国内线路直传失败不拖垮境外线路
- scripts/send_mail.js:零依赖 SMTP 发信(node net/tls,465 隐式 TLS +
587 STARTTLS),变量名沿用 MAIL_USERNAME / MAIL_PASSWORD
- 密钥经 imports 从密钥仓库 zqlit/blog-secrets 注入(共 10 项)
- .gitignore:补 cnb-secrets.yml 本地粘贴草稿(含真实令牌,不入库)
原 GitHub Actions 里的 artifact 传递 / COS 中转 / 广州机 sync.sh 轮询
整条链在此不再需要 —— 其唯一根因是 runner 在境外,CNB 节点在国内。
|
2026-10-04 12:56:05 +08:00 |
|
zqlit
|
e0218b42bb
|
docs: 迁 CNB 前的架构决策文档 + 构建骨架
- 决策文档:架构总览 / 代码源与构建平台选型 / CNB构建落地方案 /
EdgeOne双区域 / Gitee / 阿里云ESA / 精简方案
- CNB 构建骨架:deploy/Dockerfile、bin/linux/hugo
(84MB,linux/amd64 extended 0.128.2,供 CNB 容器 COPY 用)
- scripts/setup-cnb-remotes.sh:双远端切换(CNB 主仓 + GitHub 备份)
- .gitignore 补 .workbuddy/(工作数据不入库)
|
2026-10-04 12:40:17 +08:00 |
|
QunLIn
|
20869a3c45
|
RSS API 地址全部收敛到 hugo.toml [params.rssapi],切到 api.200181.xyz
Deploy to Production / pre-check (push) Successful in 2m0s
Deploy to Production / build (push) Successful in 9m9s
Deploy to Production / deploy-edgeone (push) Successful in 4m3s
Deploy to Production / finalize (push) Successful in 29s
Deploy to Production / notify-failure (push) Skipped
- 新增 [params.rssapi] base 配置,主题 7 处硬编码改为读配置:
head(preconnect+window.rssApiBase)、footer(构建时拉 links/feeds)、
render-link(favicon)、circles/links 页 fetch、linkify.js(读 window.rssApiBase)
- scripts/fetch_greetings.js 支持 RSS_API_BASE 环境变量,默认新地址
- scfapi.usj.cc(国内代理)保持不变
|
2026-10-03 01:19:02 +08:00 |
|
zqlit
|
33d54453d7
|
fix(ci): 用 Python 重写 pre-build 脚本,替换 PowerShell 依赖
Deploy to Production / pre-check (push) Successful in 29s
Deploy to Production / build (push) Failing after 23m24s
Deploy to Production / deploy-edgeone (push) Skipped
Deploy to Production / deploy-upyun (push) Skipped
Deploy to Production / finalize (push) Skipped
Deploy to Production / notify-failure (push) Successful in 4s
Gitea 自建 runner 镜像不含 PowerShell,导致 Run Pre-Build Scripts
以 exitcode 127 失败。改用 Python 3(GitHub/Gitea runner 均预装),
跨平台通用,迁回 GitHub 无需改回。
|
2026-09-30 22:50:43 +08:00 |
|
Vaica
|
5651d494ba
|
1507
|
2026-06-25 15:07:25 +08:00 |
|
Vaica
|
2fbf2e3d82
|
1448
|
2026-06-25 14:48:46 +08:00 |
|
Vaica
|
c0114c6882
|
Update deploy_upyun.sh
|
2026-06-25 14:06:32 +08:00 |
|
Vaica
|
84ad9e5b03
|
Update deploy_upyun.sh
|
2026-06-25 14:02:29 +08:00 |
|
Vaica
|
179fec3a3d
|
Update deploy_upyun.sh
|
2026-06-25 13:58:18 +08:00 |
|
Vaica
|
f19d91039a
|
1353
|
2026-06-25 13:53:18 +08:00 |
|
Vaica
|
a01312d104
|
13.32
|
2026-06-25 13:32:44 +08:00 |
|
Vaica
|
c8470cf603
|
1317
|
2026-06-25 13:17:45 +08:00 |
|
Vaica
|
8800dd4907
|
0030
|
2026-06-25 00:30:25 +08:00 |
|
Vaica
|
4c1f23d97e
|
0019
|
2026-06-25 00:19:54 +08:00 |
|
Vaica
|
0be8aa9668
|
2308
|
2026-06-24 23:08:35 +08:00 |
|
Vaica
|
f5b711181e
|
fix: 优化字体子集化脚本,确保特殊字符不丢失
- 添加特殊字符检测
- 强制添加缺失的特殊字符
- 增强调试信息
|
2026-06-03 15:18:09 +08:00 |
|
Vaica
|
80940b0316
|
feat: 添加古风官职特殊字符 + 优化字体子集化脚本
字符添加:
- 添加破折号(—)
- 添加庶、尉、谏、簿、丞
- 确保古风官职文本完整显示
脚本优化:
- 修改subset-font-safe.py,保留现有字符
- 合并新提取的字符,避免覆盖手动添加的字符
- 字体大小:740.7 KB(减少39.6%)
|
2026-06-03 14:53:56 +08:00 |
|
Vaica
|
5a00965c1a
|
feat: 添加古风官职字符到字体子集
- 添加破折号(—)
- 添加庶民、太尉等特殊字符
- 字体大小增加3KB(757KB → 760KB)
|
2026-06-03 13:53:12 +08:00 |
|
Vaica
|
0e17553a19
|
docs: 清理Ying主题冗余文档
- 删除20个优化相关文档
- 已整理到 docs/性能优化文档/ 文件夹
- 保留 README.md 和 archetypes/post.md
|
2026-06-03 13:37:53 +08:00 |
|
Vaica
|
630239960e
|
perf: 完整性能优化 - JS按需加载 + 字体子集化 + 自动化
|
2026-06-03 13:03:17 +08:00 |
|
Vaica
|
bcd4bc9282
|
rename content/post to content/posts
|
2026-06-02 15:37:49 +08:00 |
|
Vaica
|
791be8bd4f
|
精简若干功能,优化slug生成规则
|
2026-06-02 11:43:58 +08:00 |
|
Vaica
|
2c6bd1c964
|
优化github action 逻辑
|
2026-06-02 10:56:59 +08:00 |
|
zqlit
|
331af9074a
|
修复bug
|
2026-05-24 19:58:07 +08:00 |
|
zqlit
|
9529e49b96
|
修复若干问题
|
2026-05-21 13:45:17 +08:00 |
|
zqlit
|
993ac5581d
|
修复若干问题
|
2026-05-20 15:33:10 +08:00 |
|
zqlit
|
91a55bc10f
|
优化一下GitHub action 输出
|
2026-05-20 14:42:30 +08:00 |
|
Vaica
|
3948fb7820
|
3.13
|
2026-03-13 12:24:47 +08:00 |
|
Vaica
|
6bbd6f6c1f
|
Update generate_notification_report.js
|
2026-03-01 20:29:23 +08:00 |
|
Vaica
|
7ffb7b128c
|
fixed 修改slug链接
|
2026-03-01 11:48:36 +08:00 |
|
Vaica
|
e192634dfe
|
2026.3.1
|
2026-03-01 09:42:39 +08:00 |
|
Vaica
|
ed0a7f812f
|
Update generate_circle_data.js
|
2026-03-01 09:27:18 +08:00 |
|
Vaica
|
6434705390
|
fixed 国际版部署edgeone较慢的原因
|
2026-02-08 18:48:45 +08:00 |
|
Vaica
|
d65d6d94c7
|
fixed 部署友圈bug
|
2026-02-01 13:54:49 +08:00 |
|
Vaica
|
d341f8ac89
|
Update generate_circle_data.js
|
2026-02-01 13:47:51 +08:00 |
|
Vaica
|
7dad54d798
|
fixed 部署通知
|
2026-02-01 13:42:02 +08:00 |
|
Vaica
|
d13c6e4d85
|
fixed 修复构建速度
|
2026-02-01 13:25:16 +08:00 |
|
Vaica
|
327cdeb818
|
缩减体积
|
2026-02-01 13:10:31 +08:00 |
|
Vaica
|
5f50d483cc
|
Create RefreshCDN.py
|
2026-02-01 12:07:49 +08:00 |
|
Vaica
|
ba93d0faa4
|
fixed 文章结构
|
2026-02-01 11:55:50 +08:00 |
|
Vaica
|
39b17bc39d
|
fixed 友联监测bug
|
2026-01-31 15:14:57 +08:00 |
|