开源一个不需要服务器和备案的基于 Cloudflare Pages + Workers + D1 + R2 全家桶的博客项目

20 天前
 Xeu

项目地址

https://github.com/OXeu/Rin

简介

Rin 是一个基于 Cloudflare Pages + Workers + D1 + R2 的博客项目,无需服务器无需备案,只需要一个解析到 Cloudflare 的域名即可部署

截图

演示地址

xeu.life

特性

  1. 使用 Github OAuth 登录
  2. 支持文章的写作与编辑
  3. 支持本地实时保存对任意文章的修改/编辑且多篇文章互不干扰
  4. 支持设置为仅自己可见,可以充当云端同步的草稿箱或者记录隐私性较强的内容
  5. 支持拖拽/粘贴上传图片到支持 S3 协议的存储桶并生成链接
  6. 支持设置文章别名,可通过形如 https://xeu.life/about 链接访问文章
  7. 支持文章不列出在首页列表中
  8. 支持添加友链,同时后端每间隔 20 分钟定期检查更新友链可访问状态
  9. 支持回复评论文章/删除评论
  10. 支持通过 Webhook 发送评论通知
  11. 支持自动识别文章中的第一张图片并作为头图展示在文章列表中
  12. 支持输入形如"#博客 #部署 #Cloudflare"之类的标签文本并自动解析为标签
  13. 支持夜间模式切换与跟随系统

优势

相较于静态站点生成器而言:有后端,可以在线写/改文章

相较于 WordPress 等带后台的项目而言:全端托管在 Cloudflare 上,不需要自己提供服务器、域名不需要备案

同时支持 S3 协议的对象存储作为图床(可配合 Cloudflare R2 使用,不需要支付流量费用)

项目起因

项目起因是由于自已之前的博客用的是静态站点生成器那一套东西

好处就是不需要服务器,随便找个静态站点托管就能搞定

坏处也很明显,就是由于自己频繁的杀系统,一些不重要的/云端有的数据我都不会保存,以至于绝大部分时间我的本地其实根本没有博客的仓库 ,要写新博客的话还要克隆下来,安装环境 ,久而久之懒得折腾博客就基本不更新了

因此后面才打算自己搓一个博客出来,项目最开始也是中规中矩的一个普通的带前后端的全栈项目,后端托管在自己的服务器上,后面发现自己用的后端框架可以迁移到 Cloudflare Workers 上面,于是花了几天时间把后端代码基本全部翻新了一遍,再之后就是索性全扔 Cloudflare 上面了,使用 D1 替代之前的 sqlite ,R2 替代 S3 用来存储图片。

好处就是 Cloudflare 提供的免费资源完全足够托管个人博客,不需要掏一分钱;坏处就是国内访问可能比较慢,目前的解决方案是针对前端国内再接一个 CDN ,将国内的流量全部重定向到国内的 CDN 上,能够一定程度改善访问速度。同时国内的 CDN 做区域白名单只允许大陆访问,减少被打爆的风险。

2371 次点击
所在节点    分享创造
19 条回复
huhexian
20 天前
好东西!
已发: https://t.me/FindBlog/466
Rrrrrr
20 天前
终于有人下手了,支持
echoless
20 天前
赞!

设置用户名密码登录会简单一点
abersheeran
20 天前
之前就想做一个,一直没动手。你的页面做的很好看。
Xeu
20 天前
@echoless 欢迎提交 PR😋
Xeu
20 天前
@abersheeran 谢谢~
winson030
20 天前
谢谢你的项目!
lekai63
20 天前
诶呀 这个好。
Chentao1006
20 天前
想问问有导入功能吗?从 Wordpress 迁移过来方便吗
TGl1aHAubmV0
19 天前
赞一个👍
Xeu
19 天前
@Chentao1006 目前还没有做,不过支持导入理论上不难,可以先提个 issue 发一下需要导入的数据格式
linyongxin
19 天前
非常好的思路,对于更新低频无交互的网站,放在 cf pages 上很方便
xsen
19 天前
赞一个
mrgirff
19 天前
很多错。
doracoinC
19 天前
页面加载、响应速度都很快,很不错
iphantom
19 天前
支持支持 感谢
princeofwales
19 天前
在 Github Action 中手动触发 Workflow 会失败

Bun v1.1.12 (Linux x64 baseline)
Error: Process completed with exit code 1.
Xeu
19 天前
@princeofwales 方便在 Github 上提个 issue 吗?这样会更加方便排查问题
lizhenda
16 天前
思路很好啊,支持

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1047473

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX