edit | blame | history | raw

2026-06-30 网站 Hero 替换

用户目标

用户要求使用本地图片 /Users/ar/Downloads/Gemini_Generated_Image_d4ojb2d4ojb2d4oj.png 替换线上 GitHub Pages 图片:

https://shanghai3168.github.io/taglauncher/assets/hero-visual.jpg

文件名必须保持为 hero-visual.jpg

已完成事项

  • 确认 GitHub Pages 配置为 main 分支的 /docs 目录发布。
  • 确认线上 /assets/hero-visual.jpg 对应仓库路径为 docs/assets/hero-visual.jpg
  • 在临时 worktree /tmp/taglauncher-pages-hero-main 基于 origin/main 进行单文件替换,避免混入主工作区已有大量未提交改动。
  • 将用户提供的 PNG 转为白底 JPEG,并调整到页面声明尺寸 1024x908
  • 提交并推送到 origin/main
  • GitHub Pages 构建完成后,用线上 URL 带缓存参数重新拉取验证,新文件 SHA-256 匹配。
  • 临时 worktree 已清理。

关键决策

  • 不在当前脏工作区直接提交,使用临时 worktree 单独处理 Pages 发布分支,降低混入无关改动风险。
  • 不提交当前工作区的 Docs/Website/ 未跟踪重组内容;本轮只更新真正影响线上 Pages 的 main:docs/assets/hero-visual.jpg
  • 不为页面截图验证额外下载 Playwright 浏览器二进制;本轮使用文件尺寸、哈希、GitHub raw 和 Pages URL 拉取作为交付验证。

文件变更

  • docs/assets/hero-visual.jpg
  • 旧大小:128817 bytes。
  • 新大小:173029 bytes。
  • 新尺寸:1024x908
  • 新 SHA-256:3e8a40e271a42ec30aa92057e3a3e9f45ee3f2bcb829b6d5936100c9ebf8d339

核心事实 / 变更快照

  • 变更对象:GitHub Pages hero 图片。
  • 事实来源:
  • Pages 配置:source.branch=mainsource.path=/docs
  • 提交:443c1ce996521e371c60cb6e1162523a0a39833b
  • 仓库路径:docs/assets/hero-visual.jpg
  • 变更前:线上 hero 图片为旧 hero-visual.jpg,SHA-256 为 e381857a375c105dd9b5d333a353b7f361c174983ab824636f0e0f044805e055
  • 变更后:线上 hero 图片为用户提供图片转换后的 hero-visual.jpg,SHA-256 为 3e8a40e271a42ec30aa92057e3a3e9f45ee3f2bcb829b6d5936100c9ebf8d339
  • 范围边界:只影响公开网站 hero 图片;不修改 HTML、CSS、App 源码、发布包或 App Store 资料。
  • 验证证据:
  • GitHub raw main/docs/assets/hero-visual.jpg 与本地提交文件 SHA-256 一致。
  • Pages API 状态从 building 变为 built
  • https://shanghai3168.github.io/taglauncher/assets/hero-visual.jpg?v=443c1ce-final 拉取到的文件尺寸为 1024x908,SHA-256 为 3e8a40e271a42ec30aa92057e3a3e9f45ee3f2bcb829b6d5936100c9ebf8d339

未决问题

  • 主工作区 /Users/ar/Projects/Taglauncher 仍有大量本轮之前已存在的未提交删除、修改和未跟踪文件;本轮未处理这些内容。
  • 本地 main 分支指针仍停在 4a3f302origin/main 已更新到 443c1ce;如后续要在本地 main 工作,应先同步。

后续建议

  • 如果浏览器仍显示旧图,优先强制刷新或添加查询参数,例如 ?v=443c1ce,排除浏览器缓存。
  • 后续网站资产更新继续优先在干净 worktree 中对 main:/docs 做单文件变更。

可复用命令 / Runbook

用途:在当前主工作区很脏时,安全替换 GitHub Pages /docs/assets/hero-visual.jpg 并直接上线。

前置条件:仓库远端为 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-hero-main origin/main

python3 - <<'PY'
from pathlib import Path
from PIL import Image
src = Path('/Users/ar/Downloads/Gemini_Generated_Image_d4ojb2d4ojb2d4oj.png')
out = Path('/tmp/taglauncher-pages-hero-main/docs/assets/hero-visual.jpg')
out.parent.mkdir(parents=True, exist_ok=True)
img = Image.open(src).convert('RGBA')
img = img.resize((1024, 908), Image.Resampling.LANCZOS)
bg = Image.new('RGBA', img.size, (255, 255, 255, 255))
bg.alpha_composite(img)
bg.convert('RGB').save(out, 'JPEG', quality=94, optimize=True, progressive=True)
PY

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

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

验证步骤:

curl -L --fail --silent --show-error --output /tmp/taglauncher-pages-hero-visual-final.jpg \
  'https://shanghai3168.github.io/taglauncher/assets/hero-visual.jpg?v=443c1ce-final'
file /tmp/taglauncher-pages-hero-visual-final.jpg
sips -g pixelWidth -g pixelHeight /tmp/taglauncher-pages-hero-visual-final.jpg
shasum -a 256 /tmp/taglauncher-pages-hero-visual-final.jpg

清理 / 恢复:

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

搜索关键词:hero-visual.jpgGitHub Pagesmain:/docsGemini_Generated_Image443c1ce