博客分类体系设计:工作/学习/技术/生活四大类方案
一、为什么选择四大类方案
本站内容跨度较大,涵盖工作、学习、技术、生活四个方面。在设计分类体系时,面临两个选择:
- 扁平方案:一级分类直接对应内容领域(如网络测试、算法、编程、系统……)
- 层次方案:一级分类对应用途场景,二级分类细分内容领域
扁平方案的优点是少点击、定位快,缺点是分类维度不统一——有的按工作领域分,有的按学科分,有的按技术栈分,容易混乱。
层次方案的优点是维度统一、结构清晰,缺点是需要二级分类,多一层导航。
本站最终选择层次方案,以「工作/学习/技术/生活」四大类为一级分类,每类下设 2-3 个二级分类。
核心理由:四大类的维度是统一的——都是**“用途/场景"维度**,这比混合维度更清晰、更易维护。
二、分类维度总览
四大类的一级分类,维度完全统一:
| 一级分类 | 维度 | 本质 |
|---|---|---|
| 工作 | 用途/场景 | 职业产出 |
| 学习 | 用途/场景 | 知识输入 |
| 技术 | 用途/场景 | 技能实践 |
| 生活 | 用途/场景 | 非技术日常 |
统一维度的好处:
- 归类时只需问一个问题:“我为什么写这篇文章?”
- 不会出现"这个算工作还是算学科"的维度冲突
- 分类体系稳定,不易随内容变化而重构
统一维度的代价:
- 某些一级分类会过大(如"技术”),需要二级分类细分
- 归类时"用途"有时难以判断(如"为工作学的算法")
三、一级 + 二级分类结构
|
|
- 一级分类:4 个(工作/学习/技术/生活)
- 二级分类:10 个
四、四大类详解
1. 工作
- 维度:职业产出
- 包含:网络测试、项目记录
- 二级分类:
网络测试——测试理论、实践、工具、调优项目记录——具体项目的过程、复盘、踩坑
- 典型 tags:
TCP、DPDK、iperf、压测、调优、复盘
边界处理:工作中的学习(如为项目学的新技术)算工作还是学习?
- 为完成工作而学 → 工作
- 独立于工作的知识积累 → 学习
2. 学习
- 维度:知识输入
- 包含:算法、数学、物理
- 二级分类:
算法——算法导论、数据结构、复杂度数学——线性代数、微积分、概率论物理——量子力学、电磁学、力学
- 典型 tags:
动态规划、图论、线性代数、量子力学
边界处理:学习中的编程练习算学习还是技术?
- 主题是算法/数学知识 → 学习
- 主题是编程技巧 → 技术
3. 技术
- 维度:技能实践
- 包含:编程、系统、工具
- 二级分类:
编程——语言、框架、设计模式系统——Linux、macOS、树莓派、Shell工具——Git、Vim、Docker、编辑器
- 典型 tags:
Python、Go、Linux、Git、Docker
边界处理:技术里的算法实现算技术还是学习?
- 主题是算法原理 → 学习
- 主题是工程实现 → 技术
4. 生活
- 维度:非技术日常
- 包含:随笔、育儿
- 二级分类:
随笔——感想、记录、杂谈育儿——孩子日常、教育
- 典型 tags:
育儿、随笔、感想
边界处理:生活中的技术折腾(如家庭 NAS)算生活还是技术?
- 主题是生活应用 → 生活
- 主题是技术本身 → 技术
五、归类判断原则
核心口诀
先问"为什么写",再问"写什么"。 为工作产出 → 工作 为知识输入 → 学习 为技能实践 → 技术 为生活记录 → 生活
判断示例
| 文章 | 一级 | 二级 | 理由 |
|---|---|---|---|
| TCP 拥塞控制原理 | 工作 | 网络测试 | 服务于工作 |
| 网卡压测实战 | 工作 | 网络测试 | 工作产出 |
| 项目 X 复盘 | 工作 | 项目记录 | 工作复盘 |
| 快速排序详解 | 学习 | 算法 | 知识输入 |
| 线性代数笔记 | 学习 | 数学 | 知识输入 |
| 量子力学笔记 | 学习 | 物理 | 知识输入 |
| Python 装饰器 | 技术 | 编程 | 技能实践 |
| Linux 进程管理 | 技术 | 系统 | 技能实践 |
| Git 分支策略 | 技术 | 工具 | 技能实践 |
| 用 Python 写监控脚本 | 技术 | 编程 | 技能实践 |
| 周末带娃记录 | 生活 | 育儿 | 生活记录 |
| 年度总结 | 生活 | 随笔 | 生活记录 |
易混淆边界
Q:为工作学的算法,算工作还是学习?
- 为完成具体工作 → 工作
- 通用知识积累 → 学习
Q:技术文章里的数学推导,算技术还是学习?
- 数学是主题 → 学习
- 数学是工具 → 技术
Q:家庭 NAS 搭建,算生活还是技术?
- 主题是生活应用 → 生活
- 主题是技术方案 → 技术
Q:博客搭建文章,算技术还是生活?
- 主题是技术实践(Hugo 配置、taxonomy 设计) → 技术
- 主题是生活记录(博客感想) → 生活
六、Hugo 实现方式
Hugo 原生不支持多级 categories,有三种实现方式:
方式 A:单层 categories,用命名约定
|
|
- 优点:Hugo 原生支持
- 缺点:斜杠在 URL 里需要处理,部分主题显示不友好
方式 B:categories + subcategories 两个 taxonomy(推荐)
|
|
|
|
- 优点:结构清晰,两个独立 taxonomy
- 缺点:需要主题支持,二级分类页面需单独配置
方式 C:categories 只放一级,二级用 tags
|
|
- 优点:最简单,Hugo 原生
- 缺点:二级分类和普通 tag 混在一起,不够"正式"
本站采用方式 B,最符合"一级 + 二级"的语义。
hugo.toml 配置
|
|
文章 front matter 模板
|
|
一级与二级的对应关系
| 一级 category | 可选二级 subcategories |
|---|---|
| 工作 | 网络测试、项目记录 |
| 学习 | 算法、数学、物理 |
| 技术 | 编程、系统、工具 |
| 生活 | 随笔、育儿 |
七、Tags 与 Collections 的配合
Tags:细分维度
Tags 用于同一二级分类内的细分:
|
|
好处:二级分类下理论和实践都在,读者一览无余;想只看理论,点 tag 原理。
Collections:系列维度
Collections 用于跨分类的系列文章:
|
|
好处:把同一系列的零散文章聚合起来,不受分类限制。
八、设计原则总结
- 一级分类维度统一——四大类都是"用途/场景"维度,避免混合维度。
- 二级分类按需添加——不必全部预设,按实际内容增长添加。
- 每个二级分类至少 5 篇——否则不值得独立,可先并入一级。
- 用 tags 细分,不用分类——语言、工具、具体技术,都放 tags。
- 先问"为什么写"——归类时以写作目的为准,而非内容主题。
- 可以动态调整——先少后多,比先多后少好。
九、未来调整预案
如果某领域内容增长,可考虑调整:
| 触发条件 | 调整方案 |
|---|---|
| “网络测试"内容超过 20 篇 | 从"工作"拆出,升为一级分类 |
| “算法"内容超过 20 篇 | 从"学习"拆出,升为一级分类 |
| “编程"内容超过 20 篇 | 从"技术"拆出,升为一级分类 |
| 某二级分类长期不足 3 篇 | 并入一级,或合并到相近二级 |
| 出现新领域(如"阅读”) | 评估是否新增一级或二级 |
原则:先少后多,按实际增长调整,不预设。
十、与扁平方案的对比
| 对比项 | 扁平方案(6 个 categories) | 四大类方案(4+10) |
|---|---|---|
| 维度 | 混合(工作/学科/技术栈/生活) | 统一(用途/场景) |
| 一级数量 | 6 | 4 |
| 二级数量 | 无 | 10 |
| 优点 | 一级即定位,扁平 | 维度统一,层次清晰 |
| 缺点 | 维度不统一 | 需要二级 taxonomy |
| 导航 | 6 个入口 | 4 个入口 + 二级 |
| 适合 | 内容分布不均 | 内容分布较均匀 |
核心差异:
- 扁平方案:一级分类直接对应内容领域,扁平,但维度混合
- 四大类方案:一级分类对应用途场景,统一,但需要二级细分
选择建议:
- 重视维度统一、结构清晰 → 四大类方案
- 重视扁平、少点击 → 扁平方案
十一、一句话总结
本站采用「工作/学习/技术/生活」四大类为一级分类,维度统一(用途/场景);每类下设 2-3 个二级分类,共 10 个。 归类时先问"为什么写”:为工作产出→工作,为知识输入→学习,为技能实践→技术,为生活记录→生活。 Hugo 用 categories + subcategories 两个 taxonomy 实现。