Files
blog/write/CLAUDE.md
T
2026-05-21 13:45:17 +08:00

85 lines
3.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 写作后台
Hugo 博客的本地管理后台,Next.js 16 + Tailwind CSS 4,运行在 `localhost:8016`。
## 核心模块
### 1. 文章管理 `/`
- 读取 Hugo `content/post/` 下的 Markdown 文件,列表展示、搜索、分页
- 点击标题进入编辑,hover 显示预览、编辑、删除按钮
- 预览自动启动 `hugo serve`(kill 端口冲突后重启)
### 2. 撰写/编辑 `/edit`
- 新建文章自动生成 `YYYYMMDDHHmm` 格式 slug,文件夹命名 `YYYY-MM-DD-slug`
- 文章元信息编辑(标题、日期、分类、标签、作者、AI 评论)
- Markdown 正文编辑,支持插入图片(上传到文章同级文件夹)
- 三个发布状态:
- **草稿** — `draft: true`,前台不可见
- **保存** — `draft: false`,存本地不推送
- **发布** — 保存 + `git add -A && git commit && git push`
### 3. 评论管理 `/comments`
- Artalk 管理员登录(邮箱+密码),token 缓存 localStorage
- 文章列表按 MD 文件日期倒序,默认选中最新文章,按需加载评论
- 支持在线回复、隐藏/显示、删除评论
- 回复评论时显示父级评论引用
### 4. 订阅源管理 `/feeds`
- 对接 `api.usj.cc`,token 存储在 `.env` 服务端
- 增删 RSS 订阅源,批量检测存活状态
### 5. 友链管理 `/links`
- 对接 `api.usj.cc`,token 存储在 `.env` 服务端
- 增删改友链,支持隐藏/显示切换
- 单个/批量存活检测,失联标记
### 6. 回收站 `/recycle`
- 软删除文章移至 `.recycle/`,保留 30 天
- 支持恢复和永久删除
## API 路由
| 路径 | 方法 | 说明 |
|------|------|------|
| `/api/posts` | GET/POST | 文章列表、新建 |
| `/api/posts/[slug]` | GET/PUT/DELETE | 单篇文章 CRUD |
| `/api/comments` | GET/POST | 评论列表、回复 |
| `/api/comments/[id]` | PUT/DELETE | 评论操作 |
| `/api/comments/login` | POST | Artalk 登录 |
| `/api/rss/feeds` | GET/POST/DELETE | 订阅源管理 |
| `/api/rss/links` | GET/POST/PUT/DELETE | 友链管理 |
| `/api/recycle` | GET/POST/DELETE | 回收站 |
| `/api/upload` | POST | 图片上传 |
| `/api/deploy` | POST | Git 部署 |
| `/api/hugo` | GET | Hugo 启动/检测 |
## 技术栈
- **框架**: Next.js 16 (App Router, Turbopack)
- **样式**: Tailwind CSS 4,SEN 主题暖色系
- **数据**: 直接读写 Hugo Markdown 文件(gray-matter),无数据库
- **评论**: Artalk API v2
- **RSS/友链**: 自建 API `api.usj.cc` + SCF 代理
- **部署**: 执行 shell git push
## 提示词指南
### 新增页面/模块
> "在写作后台新增一个 XXX 模块,左侧侧边栏加入口,页面风格与现有文章管理一致"
### 修改现有功能
> "优化文章管理页面的 XXX 功能,保持 SEN 配色和卡片式布局"
> "修复评论管理页面的 XXX bug,不要改动其他功能"
### 样式调整
> "把 XXX 页面的色调整体改为 SEN 暖色系(bg: #fcfaf5, text: #223d66, accent: #1d3d6c, line: #e4dfd2)"
### API 对接
> "对接 api.usj.cc 的 XXX 接口,token 在 .env 的 RSS_API_TOKEN,后端代理不要暴露到前端"
### 常见问题描述
- "布局太窄了" → 去掉 max-w 限制
- "左右比例不对" → sidebar w-1/4,main flex-1
- "最新数据没排前面" → sort by date desc
- "不知道点哪里" → 标题做成可点击,加明显按钮