一个复杂的且不通用的博客
本站是一个独立设计开发,高度定制的,只满足我本人需求的博客。
本站使用了以下技术栈:
核心功能
开发的初衷,除了借此机会学习新技术,更重要的是,市面上的CMS并不能完全满足我的需求。
- 多语言
- 多语言是本站设计的初衷之一,目前已有中文、英文和日文内容。中文以外的内容由AI翻译并由我校对。
- 图片对象存储
- 摄影也是本站区别于一般博客的特色之一。由于有大量的高清图片存储和浏览需求,本站的媒体存储只支持对象存储,轻松支持数Gb的图片存储。
- AI
- 深度集成AI,用于生成摘要、图片描述、网址slug等。未来可能有更多应用。
- 各端分离
- 数据库、CMS、前端、媒体存储各自独立。因此后续升级和重构会更容易。
网站架构
采用无服务器架构,各端分离。部署在Cloudflare。
数据库:绝大部分数据存储在Supabase,少部分配置信息存储在Cloudflare Workers KV。用户认证是使用Supabase Auth。
管理后台:使用SvelteKit开发,部署在Cloudflare。
本站:使用Remix开发,全站SSR,部署在Cloudflare。
边缘函数:一个Cloudflare Workers负责处理图片上传、AI调用等第三方API调用任务,提高请求成功率。