
项目概述
Static Blog Editor 是一个全栈的可视化博客编辑器,专为静态网站生成器(如 Astro、Hugo、Jekyll、Eleventy、Gatsby 等)设计。它通过 GitHub OAuth 认证,让你无需手动编辑文件,即可通过现代化的 Web 界面创建、编辑和发布博客文章。
为什么做这个项目?
之前尝试过 Keystatic 作为博客的 CMS,但发现它配置繁琐、使用体验不佳。于是决定自己动手,打造一个更简洁、更易用的博客编辑器。
核心功能
- GitHub 集成 - OAuth 认证,直接通过 GitHub API 管理博客内容
- 可视化编辑器 - 基于 BlockNote 的 Markdown 编辑器,支持实时预览
- 图片处理 - 拖拽上传,自动优化图片
- 草稿自动保存 - 写作时自动保存草稿到本地,即使意外关闭页面也不会丢失内容
- 深色模式 - 完整的深色主题支持
- 响应式设计 - 适配桌面和移动设备
技术栈
后端
- FastAPI (Python 3.11+)
- PyGithub 用于 GitHub API 交互
- Pillow 用于图片优化
- Pydantic 用于数据验证
前端
- Next.js 14 (App Router)
- TypeScript & React 18
- shadcn/ui 组件库
- TailwindCSS
- Zustand 状态管理
- TanStack React Query
快速开始
# 后端
cd blog-editor-api
pip install -r requirements.txt
uvicorn app.main:app --reload --port 8000
# 前端
cd blog-editor-web
npm install
npm run dev
许可证
MIT License