Files
blogflare/README.md
T
seahi caef609fc8
生产环境部署 - BlogFlare 至 Cloudflare Pages / 构建与自动化上线 (push) Successful in 1m36s
docs: 更新 README 关于数据库迁移的说明
2026-08-06 12:14:14 +08:00

80 lines
2.7 KiB
Markdown

# BlogFlare
BlogFlare 是一个基于 **SvelteKit** 和 **Cloudflare D1** 构建的现代化、轻量级博客系统。它的设计灵感来源于 Typecho 的经典主题 VOID,旨在提供极速的访问体验和极低的托管成本。
## ✨ 特性
- ⚡️ **极速体验**: 采用 SvelteKit 框架,提供极致的页面加载速度和流畅的交互体验。
- ☁️ **边缘计算架构**: 完全依托于 Cloudflare 强大的全球网络。使用 Cloudflare Pages 进行前端托管,D1 数据库进行数据存储,实现真正的零运维与超低成本。
- 📝 **强大的 Markdown 支持**: 内置 Markdown 渲染引擎(结合了 `marked` 和 `highlight.js` 等),并支持代码高亮与 DoIt 风格的提示块(Admonition)。
- 🎨 **优雅的设计**: 界面灵感源自广受好评的 VOID 主题,排版舒适,注重纯粹的阅读体验。
- 🏷️ **完善的内容管理**: 包含文章发布、标签系统及用户认证的基础数据结构支持。
## 🚀 快速开始
> [!IMPORTANT]
> 本项目强制使用 `pnpm` 作为包管理器,请勿使用 `npm` 或 `yarn`。
### 1. 克隆项目与安装依赖
```bash
git clone git@git.seahi.me:seahi/blogflare.git
cd blogflare
pnpm install
```
### 2. 初始化本地数据库
本项目在本地开发时依赖 Wrangler 模拟 D1 数据库环境。请运行以下命令初始化数据库表和测试数据:
```bash
pnpm dlx wrangler d1 execute blogflare-db --local --file=./schema.sql
```
如果你已经初始化过数据库,请不要重新执行会重建表的 `schema.sql`,而应应用增量迁移:
```bash
pnpm exec wrangler d1 migrations apply blogflare-db --local
```
部署新版本前,再将同一批迁移应用到远端数据库:
```bash
pnpm exec wrangler d1 migrations apply blogflare-db --remote
```
### 3. 启动本地开发服务器
```bash
pnpm run dev
# 或者启动服务器并在浏览器中自动打开
pnpm run dev -- --open
```
## 📦 构建与部署
### 构建项目
```bash
pnpm run build
```
你可以使用 `pnpm run preview` 来预览生成的生产版本构建。
### 部署到 Cloudflare
项目已经配置了 `@sveltejs/adapter-cloudflare`,可以通过连接 GitHub/GitLab 仓库到 Cloudflare Pages 实现自动构建部署,或者使用 Wrangler CLI 进行手动发布:
```bash
pnpm dlx wrangler pages deploy .svelte-kit/cloudflare
```
*(注意:正式部署前请确保在 Cloudflare 仪表盘中创建了对应的 D1 数据库,并绑定到项目中)*
## 🛠️ 核心技术栈
- [SvelteKit](https://kit.svelte.dev/)
- [Cloudflare Pages](https://pages.cloudflare.com/) & [Cloudflare D1](https://developers.cloudflare.com/d1/)
- [Vite](https://vitejs.dev/)
- Markdown 解析: `marked`, `highlight.js`, `dompurify`, `mdsvex`