为Hexo博客标题自动添加序号:hexo-heading-index
在Hexo更新到Hexo 3之后,它提供了一个函数给皮肤用来生成文章目录,不过虽然这个函数提供了一个参数可以在文章目录中输出标题序号,但是文章内部的标题却没有添加,所以阅读文章本身并不是那么直观。为了解决这个问题,我写了一个插件来解决这个问题:hexo-heading-index。
1. 安装
和其他插件一样,hexo-heading-index的安装非常直接:
1 | npm install hexo-heading-index --save |
2. 配置
hexo-heading-index的配置都放在了_config.yml中,但是可能没有那么的直观,所以我们先来看一个例子:
1 | heading_index: |
这个配置会让我们生成如"1.2.3.4. "这样的序号。为什么呢?
由于每个人喜欢的序号样式都不一样,为了生成各种样式的序号,我们把序号拆分成了多个部分:
1 | <全局前缀 (global_prefix)><h1序号>[<连接符 (connector)><h2序号><连接符 (connector)>...<h6序号>]<全局后缀 (global_suffix)> |
而对于每一个序号的样式定义,我们放在了index_styles中,它由1-6个序号样式用空格连接组成,每个样式如下:
1 | <前缀>{序号类型[:样式:序号宽度]}<后缀> |
现在我们再来看上面的配置,它其实是在指定全局前缀为空,全局后缀为". “,连接符为”.",每一级的标题序号都使用同样的序号类型:1,没有前缀和后缀,默认样式和序号宽度。这里类型"1"表示从1开始的数字序号,所以最后我们就会生成"1.2.3.4. "这样的序号了。
3. 序号样式
目前这个插件支持如下的一些序号类型:
- 0: 从0开始的数字序号
- 1: 从1开始的数字序号
- i: 小写的罗马字符
- I: 大写的罗马字符
- a: 小写的英文字符(最大到z,如果序号大于26,那么就会被转化成z)
- A: 大写的英文字符(最大到Z,如果序号大于26,那么就会被转化成Z)
另外对于序号"0"和"1’,我们还支持一些额外的样式:
- x: 以小写16进制输出序号
- X: 以大写16进制输出序号
此外,我们还能为"0"和"1"类型的序号指定宽度,比如,如果我们指定宽度为2,那么序号3就会输出成03。
4. 再举个例子
为了更好的说明这些配置的作用,这里再举一个例子。很多人写技术文章喜欢使用"0x00 0x01: "这类的序号,那么这里我们只需要这样配置即可:
1 | heading_index: |
本文链接地址:为Hexo博客标题自动添加序号:hexo-heading-index