博客项目复盘与常用指令
这次做了什么
本次主要完成了博客视觉升级、小猫挂件重做、Git 推送,以及 Cloudflare Pages 自动部署配置修复。
主要改动:
- 将原来写在
BaseLayout.astro里的小猫挂件拆成独立组件:src/components/CatPet.astro
- 重做小猫外观和交互:
- 更圆润的脸、尾巴、围巾、斑纹、腮红、阴影
- 保留拖拽、走动、点击说话、眼睛跟随鼠标
- 增加
prefers-reduced-motion支持
- 优化博客整体视觉:
- 全局配色从高糖粉紫改成奶白、珊瑚粉、薄荷绿、深色正文
- 导航改成更克制的胶囊样式
- 卡片阴影和边框更轻
- 重排首页:
- 左侧博客介绍
- 右侧纸卡猫脸视觉
- 最新文章改成“首篇精选 + 文章列表”
- 修复 Cloudflare Pages 部署方式:
- 删除旧的 Direct Upload 项目
- 新建 GitHub 绑定的 Pages 项目
- 绑定 GitHub 仓库
- 配置自动部署
学到的事情
1. Cloudflare Pages 的 Direct Upload 不能直接改成 Git 绑定
旧项目显示:
Git Provider: No
这说明它是 Direct Upload / Wrangler 上传模式。
这种项目不会因为 git push 自动部署。即使 GitHub 已经推送成功,Cloudflare 页面也不会更新。
解决方法是:
- 删除旧 Direct Upload 项目。
- 新建 GitHub 绑定的 Pages 项目。
- 设置构建命令和输出目录。
- 再 push 一次触发自动部署。
2. GitHub App 授权要选对仓库
Cloudflare Pages 绑定 GitHub 时,需要安装或配置:
Cloudflare Workers and Pages GitHub App
仓库权限建议选择:
Only select repositories
你的 GitHub 用户名/仓库名
否则 Cloudflare 可能看不到目标仓库。
3. 新建 GitHub 绑定项目后,旧 commit 不会自动回放
这次新 Pages 项目是在某个旧 commit 推送之后创建的,所以 Cloudflare 不会自动部署那个旧 commit。
因此创建了一个空提交来触发首次自动构建:
<commit-hash> Trigger Cloudflare Pages deployment
4. PowerShell 的 conda 报错来自 profile
每次命令结束看到的噪音来自:
C:\Users\<用户名>\Documents\WindowsPowerShell\profile.ps1
里面有旧路径:
(& "D:\path\to\anaconda\Scripts\conda.exe" "shell.powershell" "hook") | Out-String | Invoke-Expression
如果这个 conda 路径已经不存在,就会报错。
可以以后改成:
$condaPath = "D:\path\to\anaconda\Scripts\conda.exe"
if (Test-Path $condaPath) {
(& $condaPath "shell.powershell" "hook") | Out-String | Invoke-Expression
}
或者直接注释掉 conda 初始化行。
常用本地开发指令
进入项目:
cd E:\path\to\your-blog-project
启动开发服务器:
npm run dev
本地访问:
http://localhost:4321
构建静态文件:
npm run build
预览构建结果:
npm run preview
Git 常用指令
查看当前状态:
git status
查看改动摘要:
git diff --stat
暂存改动:
git add .
提交改动:
git commit -m "你的提交信息"
推送到 GitHub:
git push origin main
创建空提交,用于触发 Cloudflare 自动部署:
git commit --allow-empty -m "Trigger Cloudflare Pages deployment"
git push origin main
Cloudflare Pages 当前配置
项目名:
your-pages-project
线上地址:
https://your-pages-project.pages.dev
GitHub 仓库:
你的 GitHub 用户名/仓库名
生产分支:
main
构建命令:
npm run build
输出目录:
dist
Root directory:
留空
现在配置已经是:
Git Provider: Yes
以后只要推送到 main,Cloudflare Pages 会自动构建部署。
Wrangler 相关指令
查看 Pages 项目列表:
npx wrangler pages project list
查看某个 Pages 项目的部署记录:
npx wrangler pages deployment list --project-name your-pages-project
手动部署当前 dist:
npx wrangler pages deploy dist --project-name your-pages-project
注意:现在已经绑定 GitHub,正常情况下不需要再手动部署。
删除 Pages 项目:
npx wrangler pages project delete your-pages-project --yes
慎用这个命令,会直接删除 Cloudflare Pages 项目。
本次关键提交
视觉升级提交:
<commit-hash> Polish blog design and cat pet
触发 Cloudflare 自动部署的空提交:
<commit-hash> Trigger Cloudflare Pages deployment
后续建议
- 如果继续美化,可以下一步处理文章列表页、标签页、搜索页和关于页,让它们跟首页的新风格更统一。
- 可以把重复的文章卡片样式抽成组件,减少页面之间的 CSS 重复。
- 可以更新 README,补上 Cloudflare Pages GitHub 自动部署流程。
- 如果不再使用手动部署,可以保留 Wrangler 作为排查工具,但日常只用
git push origin main即可。