韭菜/
├── public/ # 前端静态文件
├── server.js # 后端服务器
├── package.json # 依赖配置
└── supabase-init.sql # 数据库初始化脚本
npm install-
访问 supabase.com 注册并创建新项目
-
在 Project Settings → API 中获取:
- Project URL
- anon public key
-
创建存储桶:
- 进入 Storage 页面
- 创建名为
uploads的存储桶 - 设置为 Public 公开访问
-
执行数据库初始化:
- 进入 SQL Editor
- 复制并运行
supabase-init.sql中的 SQL 语句
复制 .env.example 为 .env 并填入你的配置:
cp .env.example .env编辑 .env 文件:
SUPABASE_URL=https://your-project.supabase.co
SUPABASE_ANON_KEY=your-anon-key-here
npm start访问:
- 主页: http://localhost:3000
- 后台: http://localhost:3000/admin.html (密码: tjx20070827)
- 将代码推送到 GitHub
- 访问 vercel.com
- 点击 "New Project" 导入你的仓库
- 配置环境变量(在 Vercel 项目设置中):
SUPABASE_URL=your-supabase-url SUPABASE_ANON_KEY=your-anon-key - 点击 Deploy
创建 vercel.json 配置文件(已包含):
{
"version": 2,
"builds": [
{
"src": "server.js",
"use": "@vercel/node"
}
],
"routes": [
{
"src": "/(.*)",
"dest": "/server.js"
}
]
}Vercel 会提供一个 URL,例如:https://quantlog.vercel.app
- 主页:
https://quantlog.vercel.app - 后台:
https://quantlog.vercel.app/admin.html
- 输入标题和内容发布动态
- 支持添加代码片段(Python/LaTeX)
- 支持上传图片、PDF、CSV 等文件
- 自动从数据库获取并显示所有动态
- 按时间倒序排列
- 支持代码高亮显示
- 修改密码: 在
server.js中修改verifyPassword函数的密码验证逻辑 - 环境变量: 永远不要将
.env文件提交到 Git - 数据库: 生产环境建议启用 Row Level Security
| 服务 | 免费额度 |
|---|---|
| Vercel | 100GB 带宽/月,无限项目 |
| Supabase | 500MB 数据库,1GB 存储,2GB 带宽/月 |
个人使用完全足够。