3.3 KiB
3.3 KiB
写作后台
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
- 对接
rssapi.usj.cc,token 存储在.env服务端 - 增删 RSS 订阅源,批量检测存活状态
5. 友链管理 /links
- 对接
rssapi.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
rssapi.usj.cc+ SCF 代理 - 部署: 执行 shell git push
提示词指南
新增页面/模块
"在写作后台新增一个 XXX 模块,左侧侧边栏加入口,页面风格与现有文章管理一致"
修改现有功能
"优化文章管理页面的 XXX 功能,保持 SEN 配色和卡片式布局"
"修复评论管理页面的 XXX bug,不要改动其他功能"
样式调整
"把 XXX 页面的色调整体改为 SEN 暖色系(bg: #fcfaf5, text: #223d66, accent: #1d3d6c, line: #e4dfd2)"
API 对接
"对接 rssapi.usj.cc 的 XXX 接口,token 在 .env 的 RSS_API_TOKEN,后端代理不要暴露到前端"
常见问题描述
- "布局太窄了" → 去掉 max-w 限制
- "左右比例不对" → sidebar w-1/4,main flex-1
- "最新数据没排前面" → sort by date desc
- "不知道点哪里" → 标题做成可点击,加明显按钮