【Hexo插件系列】日志的自动分类插件 hexo-auto-category

简介

Hexo写日志,通常我们都需要维护一个front-matter信息,包括titledate。博客多了,为了方便日志分类,一般还需要设置categories
比如下面的例子:

1
2
3
4
5
6
7
8
---
title: Hexo简介
date: 2008-08-08
categories:
- web开发
- 前端
- 博客框架
---

久而久之,就会发现很多问题:

  • 工作繁琐:大量的category是重复性工作
  • 容易出错:大小写和中英文目录有可能混杂。比如有个web目录,偶尔我们写成了Web,造成了目录树中冗余的节点。
  • 可维护性差:如果要更改目录树中的节点,就要手动更改每个日志的categories变量。

本文介绍一种自动生成categories的插件 hexo-auto-category官方地址

自动生成 categories

最常用的文件管理策略,就是利用文件系统目录结构(树形结构 directory-tree)。
同样,为了便于管理大量的日志文件,采用目录结构是一种简便可行的方案。hexo-auto-category根据日志文件(Markdown)所在文件目录自动分类,即自动生成markdown的front-matter中的categories变量。

示例

对于博客 source/_post/web/framework/hexo.md,该插件会自动生成以下categories

1
2
3
categories:
- web
- framework

安装

1
$ npm install hexo-auto-category --save

配置

在站点根目录下的_config.yml添加:

1
2
3
4
5
6
# Generate categories from directory-tree
# Dependencies: https://github.com/xu-song/hexo-auto-category
# depth: the depth of directory-tree you want to generate, should > 0
auto_category:
enable: true
depth:

编译 & 部署

1
$ hexo clean && hexo g && hexo d

高级配置

如果只想生成第一级目录分类,可以设置depth属性,比如:

1
2
3
auto_category:
enable: true
depth: 1

如有任何疑问,可在Github Issue提出