随着 LeanCloud 免费版的限制和停运,原本那套 Valine 评论系统几乎成了“断头路”。
我不想妥协去付昂贵的月费,也不想忍受 Valine 裸奔的数据安全性。
今天花时间重新整理了一下博客架构,用 Twikoo + R2 搭建了一套纯粹、私密且零成本的平替方案。
为什么选 Twikoo + MongoDB Atlas?
LeanCloud 的停运让我意识到,核心数据必须在自己手里。Twikoo 是目前最好的平替:
- 安全性:评论请求通过 Vercel 后端中转,数据库密码不暴露。
- 自主权:数据存在 MongoDB Atlas 免费集群,支持一键备份和迁移。
- 功能增强:内置了管理后台、反垃圾评论和邮件通知。
实现步骤:
- 数据库:在 MongoDB Atlas 开启一个 M0 集群(免费),拿到
MONGODB_URI。 - 后端:通过 Vercel 一键部署 Twikoo 仓库,并将 URI 填入环境变量。
- 避坑:部署后若遇到 CORS 跨域报错,务必进入 Twikoo 管理面板,在“允许域名”中填入你的博客域名。
图床进化:从 GitHub 公开库到私有 R2
以前图床挂在 GitHub 公开库,隐私性几乎为零。这次同步切换到了 Cloudflare R2。
实现步骤:
- 开通 R2:在 Cloudflare 创建存储桶。虽然 10GB 免费,但需要绑定卡验证身份。
- PicGo 插件:在 Mac 的 PicGo 插件中心搜索并安装
picgo-plugin-s3。 - 配置占位符:最新版插件废弃了
Custom Output URL,必须在outputURLPattern填入https://你的域名/{path}。 - Typora 联动:在设置中开启“插入图片时上传”,选择 PicGo。
现在在 Typora 里 Cmd+V 粘贴图片,它会自动飞向 R2 并返回一个带私有域名的链接,极其丝滑。
极简发布:Git 推送即部署
博客托管在 Cloudflare Pages。
- 逻辑:写完文章后,一键执行 Git 提交。
- 自动化:Cloudflare 监测到推送后自动构建生成静态页面。
- 自定义导出:本地用 Typora,在blog项目内部设立一个提交当前推文与推送的脚本。