博客文档
Aug 01, 2024
XiaoHang个人博客
项目简介
这是一个基于现代Web技术栈开发的个人博客系统,采用前后端分离架构。本项目不仅是一个博客平台,更是一次技术实践和学习的过程。
项目目标
- 
技术实践
- 深入学习 Next.js新特性
 - 实践前后端分离架构
 - 提升全栈开发能力
 
 - 
内容平台
- 构建个人知识管理系统
 - 沉淀技术博文
 - 分享学习心得
 
 
核心功能
- 📝 文章管理:发布、编辑、删除
 - 🏷️ 分类管理:多维度文章归类
 - 🔍 搜索功能:全文检索
 - 📊 文章归纳:个人文章时间线
 - 🎨 主题切换:明暗模式支持
 
技术架构
前端(博客)
- 框架: Next.js
 - UI组件: NextUI
 - 样式方案: TailwindCSS
 - 状态管理: Jotai
 - 编辑器: Cursor
 
管理后台
- 框架: Vue 3
 - 构建工具: Vite
 - 状态管理: Pinia
 - UI组件: Element Plus
 
服务端
- 框架: Nest.js
 - 语言: TypeScript
 - ORM: TypeORM
 - 数据库: MySQL
 
在线预览
本地开发
bash# 安装依赖 pnpm install # 启动开发服务器 pnpm dev # 构建生产版本 pnpm build
开发计划
近期计划
- SEO全文搜索
 - 用户认证系统(OAuth 集成)
 - 评论互动功能
 
长期规划
- 性能优化
 - SEO完善
 - 国际化支持
 
版本发布流程
前置条件
- 确保已安装 pnpm (
npm install -g pnpm) - 确保有 GitHub 仓库的推送权限
 
发布步骤
1. 准备发布
- 
确保当前分支代码是最新的:
bashgit checkout main git pull origin main - 
确保依赖是最新的:
bashpnpm install - 
切换到release分支:
bashgit checkout -b release/v0.0.2 
2. 执行发布命令
运行发布脚本:
bashpnpm release
系统会提示以下步骤:
- 
选择版本类型:
patch: 修复版本 (x.x.1)minor: 特性版本 (x.1.x)major: 主版本 (1.x.x)custom: 自定义版本号
 - 
确认发布版本
 
3. 自动化步骤
发布脚本会自动执行以下操作:
- 更新 
package.json中的版本号 - 生成 CHANGELOG.md 更新日志
 - 提交变更到 Git
 - 创建版本标签(格式:
v版本号-YYYYMMDD) - 推送代码和标签到 GitHub
 
4. 验证发布
发布完成后,请检查:
- GitHub 仓库的 Tags 是否已更新
 - CHANGELOG.md 是否已正确生成
 - package.json 中的版本号是否已更新
 
5. 删除release分支
bashgit branch -d release/v0.0.2 git push origin --delete v0.0.2-20250218
注意事项
- 发布前请确保所有代码已经完成测试
 - 可以使用 
--dry参数进行试运行:bashpnpm release --dry - 如果发布过程中出现错误,系统会自动回滚版本号
 
回滚方法
如果发布后发现问题需要回滚:
- 
删除本地标签:
bashgit tag -d <标签名> - 
删除远程标签:
bashgit push origin --delete <标签名> - 
重置版本号:
- 手动修改 package.json 中的版本号
 - 或重新运行 release 命令选择正确的版本
 
 
常见问题
- 如果提示权限错误,请检查 GitHub 账号权限设置
 - 如果 CHANGELOG 生成失败,请确保 commit 信息格式符合规范
 - 如果标签推送失败,可能是网络问题,请重试推送命令
 
贡献指南
欢迎提交 Issue 或 Pull Request 来帮助改进项目。