chore(spec): 归档 blog-5n——八任务收敛(后台深度优化全家桶)
Spec: 2026-11-05_blog-5n-admin-deep-optimization Co-authored-by: GLM-5.3
This commit is contained in:
1 parent
a555a3e450
commit
5c0e6ed900
29 files changed
+1559
-512
No files matched your search
+20
-1
@@ -27,7 +27,20 @@ git clean -fd --exclude node_modules
|
||||
SHA=$(git rev-parse --short HEAD)
|
||||
echo "[build] 构建源: origin/main @ $SHA"
|
||||
|
||||
# 5n B1:构建状态生命周期(后台 /admin/deploy-status.js 轮询 /admin/build-status.json)。
|
||||
# building 态写在 rsync 前(此时 staging 仍服务上一版),ok 态写在末尾并解除 trap;
|
||||
# 任何中途退出(set -e 炸链)由 trap 兜底写 fail——状态文件每次 rsync 后重写,不依赖 dist
|
||||
mkdir -p "$STAGING/admin" 2>/dev/null || true
|
||||
write_status() { printf '{"sha":"%s","time":"%s","state":"%s","pages":%s}\n' "$SHA" "$(date -Is)" "$1" "${2:-0}" > "$STAGING/admin/build-status.json" 2>/dev/null || true; }
|
||||
trap 'write_status fail' EXIT
|
||||
write_status building
|
||||
|
||||
pnpm install --frozen-lockfile >/dev/null
|
||||
|
||||
# 5n A1:TMT 翻译先于构建(译文进 content/posts-en/,随同一次部署上线)。
|
||||
# 守卫先行 + 守卫自身永不阻断(超时/无凭据/失败都只 WARN 并保留旧英文版)
|
||||
[ -f scripts/deploy/translate-step.sh ] && bash scripts/deploy/translate-step.sh || echo "[build] translate-step 未就绪,跳过"
|
||||
|
||||
pnpm astro build
|
||||
|
||||
# 按页字体 CSS 子集化(车道 A 任务 1):裁 @font-face 声明数,构建仓与本地同链;
|
||||
@@ -39,6 +52,9 @@ pnpm astro build
|
||||
[ -f scripts/build-perf/gen-sw-precache.mjs ] && node scripts/build-perf/gen-sw-precache.mjs dist || echo "[build] sw-precache 生成器未就绪,跳过"
|
||||
[ -f scripts/build-perf/inline-home-css.mjs ] && node scripts/build-perf/inline-home-css.mjs || echo "[build] inline-home 脚本未就绪,跳过"
|
||||
|
||||
# 5n C2:内容仪表盘(产物 dist/admin/stats.{html,json},随 rsync 上线)
|
||||
[ -f scripts/build-perf/gen-admin-stats.py ] && python3 scripts/build-perf/gen-admin-stats.py dist || echo "[build] stats 生成器未就绪,跳过"
|
||||
|
||||
# README 动效资产(5i 引入、5j T2 退役):贡献蛇与 streak 快照已删——连续贡献改为
|
||||
# 热力图同源本地计算(见 src/lib/heatmap.ts 的 streakStats),界面上标注"数据更新于"。
|
||||
# fetch-readme-assets.mjs 保留骨架但 ASSETS 已清空,如将来要加新的自托管资产再启用。
|
||||
@@ -52,7 +68,10 @@ rsync -a --delete "$BUILD_REPO/dist/" "$STAGING/"
|
||||
ORIG="$HOME/docker_apps/blog/photos-originals"
|
||||
if [ -d "$ORIG" ]; then rsync -a "$ORIG/" "$STAGING/photos-originals/"; fi
|
||||
printf 'built %s at %s\n' "$SHA" "$(date -Is)" > "$STAGING/.build-stamp"
|
||||
echo "[build] done: $(find "$STAGING" -name '*.html' | wc -l) html files @ $SHA"
|
||||
PAGES=$(find "$STAGING" -name '*.html' | wc -l)
|
||||
echo "[build] done: $PAGES html files @ $SHA"
|
||||
write_status ok "$PAGES"
|
||||
trap - EXIT
|
||||
|
||||
# 生产冒烟(T3):staging 三断言。首版容忍失败(robots 待 T1 落地,smoke FAIL 属预期),
|
||||
# T1 收编后改硬门:去掉 `|| echo` 让断言失败直接炸构建
|
||||
|
||||
Reference in new issue
Block a user