Daniel's Blog
2 min read

Static Blog Editor

Table of Contents

Static Blog Editor Demo

License: MIT Python 3.11+ Next.js 14

项目概述

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