Hexo 中的 Category 管理:Hexo-Category-Manager
Hexo 中的 Category 管理:Hexo-Category-Manager
Hexo目录管理不太方便,涉及到文章批量修改Category时非常麻烦。
不支持Category整体改名,不支持批量修改。
于是我就viber coding了一个Category的批量管理的本地html系统。
GitHub链接 :Hexo-Category-Manager
效果:

以下是介绍:
📁 Hexo Category Manager
一个本地运行的可视化网页工具,用于批量管理 Hexo 博客文章的分类(categories)。告别手动编辑每篇文章的 front-matter,通过直观的树形界面高效完成分类的查看、筛选、批量修改、重命名与删除。
✨ 功能特性
分类树可视化
- 左侧树形结构展示所有分类层级(支持多级嵌套)
- 每个分类节点显示文章数量
- 支持展开 / 折叠子分类
- 点击分类节点即可筛选该分类下的所有文章
文章列表
- 按分类筛选文章
- 关键词搜索(标题、文件名、标签)
- 展示文章标题、日期、分类标签、Tags
- 支持单篇编辑、多选批量操作、全选
批量分类操作(4 种模式)
| 模式 | 说明 |
|---|---|
| 替换全部 | 用新分类替换选中文章的所有分类 |
| 前置添加 | 在现有分类前面插入新分类 |
| 追加添加 | 在现有分类后面追加新分类 |
| 移除指定 | 移除选中文章中指定名称的分类 |
分类节点管理
- 在分类树中直接 重命名 分类(自动应用到所有相关文章)
- 删除 分类层级(子分类自动上移一级)
- 新增 分类到选中文章
其他特性
- 自动识别
categories和category两种 front-matter 写法 - 兼容字符串和数组形式的 tags / categories
- 保留原有 front-matter 的其他字段(title、date、abbrlink、cover 等)
- 操作反馈 Toast 提示
- 分页加载,支持大批量文章
🚀 快速开始
环境要求
- Node.js >= 14
安装与运行
1 | # 1. 克隆仓库 |
打开浏览器访问 http://localhost:3456 即可使用。
🔧 配置你的博客目录
默认情况下,工具读取项目根目录下的 _posts 文件夹。要管理你正式的 Hexo 博客,修改 server.js 中的 POSTS_DIR 常量:
1 | const POSTS_DIR = path.join(__dirname, '_posts'); |
也可以修改端口号 server.js:
1 | const PORT = 3456; |
📂 项目结构
1 | Hexo-Category/ |
🛠 技术栈
- 后端:Node.js + Express
- 前端:原生 HTML / CSS / JavaScript(无框架依赖)
- Front-matter 解析:gray-matter
📡 API 接口
| 方法 | 路径 | 说明 |
|---|---|---|
GET |
/api/posts |
获取文章列表(支持 category、search、page、pageSize 参数) |
GET |
/api/categories |
获取分类树结构 |
GET |
/api/posts/:filename |
获取单篇文章详情 |
PUT |
/api/posts/:filename/categories |
修改单篇文章分类 |
POST |
/api/batch/categories |
批量修改文章分类 |
POST |
/api/batch/rename-category |
重命名分类层级 |
POST |
/api/batch/delete-category |
删除分类层级 |
⚠️ 注意事项
- 所有写操作直接修改
_posts目录下的 Markdown 文件,建议先备份。 - 工具会保留 front-matter 中除分类外的所有字段和正文内容。
- 如需将自己博客的文章排除在版本控制之外,取消 .gitignore 中
_posts/的注释。
📄 License
ISC
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 zhangxixi的博客!



