GrtBlog v2.1.3
- 发布日期(UTC):2026-07-18
- 对比基线:v2.1.2
- 发布通道:Stable
v2.1.3 带来了完整的站点备份与恢复能力,并重新设计了时间线在桌面端和移动端的浏览体验。
完整站点备份与恢复
- 管理后台新增“设置 → 备份与恢复”,支持手动备份、计划备份、保留份数、固定归档和安全下载。
- 完整备份会导出站点数据库与
storage/uploads,覆盖配置、内容、互动记录和上传文件,并生成带 SHA-256 校验信息的tar.gz归档。 - 支持从服务器历史归档或本地归档执行离线恢复。系统会先校验归档,随后优雅退出;容器重启时会在应用启动前恢复数据库并切换上传文件。
- 全新安装时可以直接在初始化页面上传完整备份,无需先创建站点账号。
- 增加本地开发环境的恢复辅助命令,以及备份/恢复容器端到端测试。
时间线与移动端体验
- 为移动端新增独立的纵向时间线,以年份和月份组织内容,并通过左右交替的卡片、节点与曲线动画呈现文章、手记和思考。
- 桌面端时间线支持精准触控板的横向滚动手势,并在时间线边界释放滚动,避免阻断页面浏览。
- 响应式布局改由 CSS 在首次绘制前决定,消除桌面端水合时短暂显示移动布局的问题。
- 移动端顶部栏现在会在滚动后同步当前页面标题。
- 全局浮动窗口的移动端抽屉增加收起动画,并兼容减少动态效果设置。
- 修复移动端导航菜单处理外部链接等非站内路径时的地址解析问题。
部署与升级
- 新增数据库迁移
0067和0068,用于记录备份任务和计划配置;升级时会由 Goose 自动执行。 - 官方 Compose 新增持久化目录
./storage/backups。推荐重新运行一键安装脚本,使部署配置、Nginx 配置和环境变量与新版本保持一致。 - 升级脚本会把旧的官方更新仓库
grtsinry43/grtblog-v2迁移到grtsinry43/grtblog,同时保留用户明确配置的自定义仓库。 - 备份归档可能包含账号、访问令牌和第三方密钥,应按敏感数据保存,并且只恢复来源可信的 GrtBlog 归档。
推荐使用一键安装脚本升级:
bash
bash <(curl -fsSL https://raw.githubusercontent.com/grtsinry43/grtblog/main/deploy/install.sh)国内网络可使用:
bash
bash <(curl -fsSL https://cnb.cool/grtsinry43/grtblog/-/git/raw/main/deploy/install.sh)Commits
- fix(floating-window): animate mobile drawer dismissal (e81ee4c)
- feat(timeline): improve responsive browsing experience (7b97e86)
- fix(navigation): handle non-path mobile menu URLs (ae54e6b)
- fix(deploy): migrate update repository on upgrade (38a7e2f)
- feat(backup): add local development restore helper (d404914)
- feat(setup): support restore during initial setup (97ecfee)
- feat(backup): add offline full-site restore (09fae5b)
- feat(backup): add scheduled backups and retention (2d37563)
- feat(backup): add manual whole-site backup workflow (bf50650)