如何管理文章分类
如何管理文章分类
在 Taco 中,文章分类是组织和展示内容的重要方式。本文将详细介绍如何管理和自定义文章分类。
📁 分类系统概览
Taco 使用基于文件夹的分类系统,每个分类对应 data/posts/
下的一个目录。
当前分类结构
data/posts/
├── essays/ # 技术文章分类
├── pieces/ # 随笔文章分类
└── yearly/ # 年度总结分类
⚙️ 分类配置文件
所有分类的配置都存储在 data/categories.data.js
文件中:
const categories = {
"essays": {
slug: "essays",
name: "技术浅谈",
description: "整齐排列的想法,和时不时的长篇大论。",
banner: "https://example.com/essays-banner.jpg",
title: "技术浅谈",
subtitle: "代码与思考的碰撞"
},
"pieces": {
slug: "pieces",
name: "无心文字",
description: "无处安放的有感而发和碎碎念。",
banner: "https://example.com/pieces-banner.jpg",
title: "无心文字",
subtitle: "有感而发的碎碎念"
},
"yearly": {
slug: "yearly",
name: "年度总结",
description: "每年一次的年度总结。",
banner: "https://example.com/yearly-banner.jpg",
title: "年度总结",
subtitle: "时光荏苒,岁月如歌"
}
}
module.exports = categories
📝 分类字段说明
必需字段
slug
(字符串)
- 分类的唯一标识符
- 必须与
data/posts/
下的目录名一致 - 用于生成 URL 路径:
/category/[slug]
name
(字符串)
- 分类的显示名称
- 会在分类页面和导航中显示
description
(字符串)
- 分类的简短描述
- 在分类页面顶部显示
可选字段
banner
(字符串)
- 分类页面的背景图片链接
- 如果不设置,会使用默认样式
title
(字符串)
- 分类页面横幅的主标题
- 如果不设置,会使用
name
字段
subtitle
(字符串)
- 分类页面横幅的副标题
- 用于补充说明分类主题
➕ 添加新分类
步骤1:创建目录结构
在 data/posts/
下创建新的分类目录:
mkdir data/posts/tutorials
步骤2:更新分类配置
在 data/categories.data.js
中添加新分类:
const categories = {
// ... 现有分类 ...
"tutorials": {
slug: "tutorials",
name: "教程专区",
description: "详细的技术教程和操作指南。",
banner: "https://images.unsplash.com/photo-1516321318423-f06f85e504b3",
title: "教程专区",
subtitle: "Learning by Doing"
}
}
步骤3:创建测试文章
在新分类目录下创建一篇测试文章:
---
title: '分类测试文章'
date: '2024-03-01'
category: 'tutorials'
banner:
img: "https://example.com/test-banner.jpg"
title: "测试文章"
subtitle: "验证新分类功能"
---
# 这是一篇测试文章
用于验证新分类是否正常工作。
✏️ 修改现有分类
更改分类名称和描述
直接编辑 data/categories.data.js
文件:
"essays": {
slug: "essays",
name: "技术博客", // 修改显示名称
description: "深度技术文章和经验分享。", // 修改描述
banner: "https://new-banner-url.jpg", // 更换横幅图片
title: "技术博客",
subtitle: "深度思考与实践"
}
更改分类 slug
如果要更改分类的 slug,需要:
-
重命名目录:
mv data/posts/essays data/posts/tech-articles
-
更新配置文件:
"tech-articles": { // 新的 slug slug: "tech-articles", name: "技术文章", // ... 其他配置 }
-
更新现有文章: 将所有该分类下文章的
category
字段更新为新的 slug:--- title: '文章标题' date: '2024-01-15' category: 'tech-articles' # 更新为新的 slug ---
🗂️ 分类页面功能
每个分类都有自己的专属页面,访问路径为:/category/[slug]
分类页面包含的内容
-
横幅区域
- 背景图片(如果设置了 banner)
- 分类标题和副标题
-
文章列表
- 该分类下的所有文章
- 按发布日期排序(最新在前)
- 支持分页显示
-
文章预览卡片
- 文章标题
- 发布日期
- 文章摘要(自动生成)
- 阅读时间估算
🎨 分类页面自定义
横幅图片规格建议
- 分辨率:推荐 2070x1380 像素
- 格式:WebP、JPEG 或 PNG
- 主题:与分类内容相关的高质量图片
推荐图片来源
- Unsplash:
https://unsplash.com/
- Pexels:
https://pexels.com/
- 自定义设计:使用 Figma、Canva 等工具
示例横幅配置
// 技术类分类
banner: "https://images.unsplash.com/photo-1517077304055-6e89abbf09b0"
// 生活类分类
banner: "https://images.unsplash.com/photo-1506905925346-21bda4d32df4"
// 年度总结类
banner: "https://images.unsplash.com/photo-1551288049-bebda4e38f71"
🔧 高级配置
分类权重排序
可以通过调整 categories.data.js
中对象的顺序来控制分类的显示顺序:
const categories = {
"essays": { /* 首先显示 */ },
"tutorials": { /* 其次显示 */ },
"pieces": { /* 最后显示 */ }
}
隐藏分类
如果要临时隐藏某个分类,可以在分类配置中添加 hidden
字段:
"drafts": {
slug: "drafts",
name: "草稿",
hidden: true, // 隐藏此分类
// ... 其他配置
}
注意:这需要在代码中添加相应的逻辑来处理 hidden
字段。
📊 分类统计
博客系统会自动统计每个分类的文章数量,并在相应页面显示。这些统计信息包括:
- 分类下的文章总数
- 最近更新时间
- 文章发布时间分布
✅ 最佳实践
1. 分类命名建议
- 使用有意义的英文单词作为 slug
- 避免使用特殊字符和空格
- 保持 slug 简短而清晰
2. 分类数量控制
- 建议保持 3-6 个主要分类
- 避免分类过多导致内容分散
- 可以使用标签来进一步细分内容
3. 分类一致性
- 确保分类主题明确且互不重叠
- 维护一致的命名风格
- 定期整理和归档旧内容
4. SEO 优化
- 为每个分类编写清晰的描述
- 使用相关关键词但避免堆砌
- 确保横幅图片有合适的 alt 文本
🎯 总结
通过合理的分类管理,你可以:
- ✅ 让读者更容易找到感兴趣的内容
- ✅ 提升博客的专业度和组织性
- ✅ 改善 SEO 表现
- ✅ 为不同类型的内容提供合适的展示方式
现在你已经掌握了 Taco 分类系统的完整使用方法,开始组织你的优质内容吧!📚