Rin - 全栈 Cloudflare 的个人博客项目
文章目录

介绍
Rin 是一个基于 Cloudflare Pages + Workers + D1 + R2 全家桶的博客,无需服务器无需备案,只需要一个解析到 Cloudflare 的域名即可部署
唯一的缺点便是减速CDN特有的国内很慢了,不过对于博客来说也是能够勉强接受的
特性
- 支持 Github OAuth 登录,默认第一个登录的用户拥有管理权限,其他用户均为普通用户
- 支持文章的写作与编辑
- 支持本地实时保存对任意文章的修改/编辑且多篇文章互不干扰
- 支持设置为仅自己可见,可以充当云端同步的草稿箱或者记录隐私性较强的内容
- 支持拖拽/粘贴上传图片到支持 S3 协议的存储桶并生成链接
- 支持设置文章别名,可通过形如 https://xeu.life/about 链接访问文章
- 支持文章不列出在首页列表中
- 支持添加友链,同时后端每间隔 20 分钟定期检查更新友链可访问状态
- 支持回复评论文章/删除评论
- 支持通过 Webhook 发送评论通知
- 支持自动识别文章中的第一张图片并作为头图展示在文章列表中
- 支持输入形如"#博客 #部署 #Cloudflare"之类的标签文本并自动解析为标签
- 支持日夜间模式
部署
回头重新看了下部署文档,确实有很多地方写的很模糊,后续会抽空重新出一篇部署文档
仓库页面:https://github.com/openRin/Rin
回复
cdn优选呢?
- cdn优选已经有了:针对国内配置 CDN 加速 Cloudflare Pages 访问
评论还要登陆然而却没有引导我找半天原来用github登陆。。不够私密
- 目前确实缺少足够的引导,免登录直接输入信息回复也有在计划中,只是目前待完善的地方还很多暂时还没有开始做
要是能支持像右边显示段落大小标题就完美了
2024.6.9更新:最新分支已经支持 TOC 了
什么时候可以推出英文版本呢
目前已经将支持 i18n 放入下一个大版本的计划之中了
后记
项目起因
自已之前的博客用的是静态站点生成器那一套东西
好处就是不需要服务器,随便找个静态站点托管就能搞定
坏处也很明显:由于自己频繁的杀系统,一些不重要的/云端有的数据我都不会保存,以至于绝大部分时间我的本地其实根本没有博客的仓库
要写新博客的话还要克隆下来,安装环境 ,久而久之懒得折腾博客就基本不更新了
谁还没有一个手搓博客的梦想呢
前段时间稍微空闲了一阵,于是又动起了搓博客的心思
当时想的是试吃一下据说很快~~~的 Bun ,看了一圈 Bun 生态中的 Web 框架,选择了 ElysiaJs
当时选择他的原因很简单:它的官网比隔壁 Hono 好看

现在看来,当初选择 Bun 并使用 ElysiaJS 真的为我节省了很多时间
项目最开始也是中规中矩的一个普通的带前后端的全栈项目,后端托管在自己的服务器上
后面发现自己用的后端框架可以迁移到 Cloudflare Workers 上面
本着有羊毛不薅不是人的精神,于是花了几天时间把后端代码基本全部翻新了一遍
再之后就是索性全扔 Cloudflare 上面了,使用 D1 替代之前的 sqlite ,R2 替代 S3 用来存储图片。
好处就是 Cloudflare 提供的免费资源完全足够托管个人博客,不需要掏一分钱
坏处就是国内访问可能比较慢,
目前的解决方案是针对前端国内再接一个 CDN ,将国内的流量全部重定向到国内的 CDN 上,能够一定程度改善访问速度。同时国内的 CDN 做区域白名单只允许大陆访问,减少被打爆的风险。
话说我最开始是奔着试吃 Bun 来着?
后记2
前两天觉得项目已经基本能看了
于是花了些时间完善整理了部署文档,就去 Github 上直接搜名为 “开源自荐” 的 issue,找到对应的仓库去投稿自荐
也成功被收录进《科技爱好者周刊》第 303 期
效果最好的是我在 V2EX 自荐的帖子 ,收获了很多关注和 Star
同时被其他专门做开源项目的博主看到了,进行了二次推荐,比如:Geek

可以说目前整个项目大部分流量都来自于 Geek 的推:

万分感谢!
博客评论区不处理部署问题,有任何问题请前往 GitHub Issue 查找相关问题或创建新 Issue 寻求帮助
回复 jzing
回复 Fletcher Wehner
回复 苹果派派
回复 Allen
回复 duannian9527
回复 wrisin
回复 Xeu
回复 wrisin
回复 Xeu
回复 wrisin
回复 ZLY3439569179
回复 Xeu
回复 ZLY3439569179
回复 Xeu
回复 BurtSweet