edit | blame | history | raw

2026-06-30 app-memo 替换

用户目标

用户确认使用 /Users/ar/Downloads/2.2.jpeg 压缩后替换官网线上图片:

https://shanghai3168.github.io/taglauncher/assets/app-memo.png

文件名保持 app-memo.png,不替换 hero-visual.jpg

已完成事项

  • 确认 GitHub Pages 发布源为 main:/docs
  • 确认线上目标文件对应仓库路径为 docs/assets/app-memo.png
  • 清理上一轮遗留的临时 worktree /private/tmp/taglauncher-pages-hero-0-main
  • 基于 origin/main 创建临时 worktree /tmp/taglauncher-pages-app-memo-main,避免混入主工作区已有未提交改动。
  • 将用户提供的 JPEG 转为 PNG,文件名保持 app-memo.png
  • 生成压缩候选并比较:
  • 256 色 PNG:约 219K,但有明显色带和失真,未采用。
  • 真彩 PNG:约 622K,画质正常,采用。
  • 提交并推送到 origin/main
  • 验证 GitHub raw 文件哈希一致。
  • GitHub Pages 首轮轮询显示 built,线上 app-memo.png 哈希匹配新文件。
  • 清理临时 worktree。

关键决策

  • 用户原指令中曾出现“目标 URL 为 app-memo.png、文件名改成 hero-visual.jpg”的矛盾;用户确认选择“替换线上 assets/app-memo.png,文件名保持 app-memo.png”后执行。
  • 保持 .png 格式,不把 JPEG 内容伪装成 .png 扩展名。
  • 不强行放大到旧图 1600x1040;新图自然尺寸为 1281x832,与页面声明 1600x1040 比例一致,避免无意义放大导致体积增加。
  • 不修改 HTML、CSS、App 源码或其它图片。

文件变更

  • docs/assets/app-memo.png
  • 旧大小:987456 bytes,约 964K
  • 新大小:636471 bytes,约 622K
  • 旧尺寸:1600x1040
  • 新尺寸:1281x832
  • 新 SHA-256:ef3565d76de55e1084d9ddfd511ec57a00b67edc7fd35d75ccd53706c192a8df

核心事实 / 变更快照

  • 变更对象:GitHub Pages app-memo.png 展示图。
  • 事实来源:
  • Pages 配置:source.branch=mainsource.path=/docs
  • 提交:3a4820943ff216a088a3d95f46b935ea5f6f9857
  • 仓库路径:docs/assets/app-memo.png
  • 变更前:线上 app-memo.png SHA-256 为 326d618ccfa9bd30f86c981fbe58c64bf0368f592e64343faa86fc63f9681591
  • 变更后:线上 app-memo.png SHA-256 为 ef3565d76de55e1084d9ddfd511ec57a00b67edc7fd35d75ccd53706c192a8df
  • 范围边界:只影响公开网站 app-memo.png;不影响 hero 图片、tags 图片、其它网站资源、App 源码或 App Store 发布资料。
  • 验证证据:
  • GitHub raw main/docs/assets/app-memo.png 与本地提交文件 SHA-256 一致。
  • Pages API 首轮轮询状态为 built
  • https://shanghai3168.github.io/taglauncher/assets/app-memo.png?v=3a48209-1 首轮拉取到的 SHA-256 为 ef3565d76de55e1084d9ddfd511ec57a00b67edc7fd35d75ccd53706c192a8df
  • 后续轮询出现 DNS/TLS 抖动,但第一轮 built + 哈希匹配已证明上线成功。

未决问题

  • 主工作区 /Users/ar/Projects/Taglauncher 仍有本轮之前已存在的发布资料改动和未跟踪 release 目录;本轮未处理这些内容。
  • 本地 main 分支可能落后于 origin/main;后续如在本地 main 工作,应先同步。

后续建议

  • 如果浏览器显示旧图,强制刷新或使用缓存参数,例如 ?v=3a48209
  • 官网单图替换继续使用临时 worktree 对 main:/docs 做单文件提交。

可复用命令 / Runbook

用途:在主工作区很脏时,安全替换 GitHub Pages /docs/assets/app-memo.png 并直接上线。

前置条件:仓库远端为 https://github.com/shanghai3168/taglauncher.git;GitHub Pages 发布源为 main:/docs;本地已通过 gh auth status 登录。

cd /Users/ar/Projects/Taglauncher
git fetch origin main
git worktree add --detach /tmp/taglauncher-pages-app-memo-main origin/main

python3 - <<'PY'
from pathlib import Path
from PIL import Image, ImageOps

src = Path('/Users/ar/Downloads/2.2.jpeg')
out = Path('/tmp/taglauncher-pages-app-memo-main/docs/assets/app-memo.png')
img = ImageOps.exif_transpose(Image.open(src)).convert('RGBA')
img.save(out, optimize=True, compress_level=9)
PY

cd /tmp/taglauncher-pages-app-memo-main
git add docs/assets/app-memo.png
git commit -m "Update website app memo visual"
git push origin HEAD:main

cd /Users/ar/Projects/Taglauncher
git fetch origin main
git worktree remove /tmp/taglauncher-pages-app-memo-main
git worktree prune

验证步骤:

curl -L --fail --silent --show-error --output /tmp/taglauncher-pages-app-memo.png \
  'https://shanghai3168.github.io/taglauncher/assets/app-memo.png?v=3a48209-1'
file /tmp/taglauncher-pages-app-memo.png
sips -g pixelWidth -g pixelHeight /tmp/taglauncher-pages-app-memo.png
shasum -a 256 /tmp/taglauncher-pages-app-memo.png

清理 / 恢复:

cd /Users/ar/Projects/Taglauncher
git worktree list --porcelain
git worktree remove /tmp/taglauncher-pages-app-memo-main
git worktree prune

搜索关键词:app-memo.pngGitHub Pagesmain:/docs2.2.jpeg3a48209