hexo-generator-index-plus,这是什么东东?其实就是 hexo 博客生成器的一个文章排序插件,基于默认插件 fork 的,添加按文章置顶和二次编辑的更新时间排序的功能。
沙发留给 github 和 npmjs~
Github: YuyingWu/hexo-generator-index-plus
npm: hexo-generator-index-plus
最简单粗暴的 Installation:
$ npm install hexo-generator-index-plus --save
当然要完全替换掉默认的 index 生成器还不止这一步啦,还要干掉默认的 npm 模块和更新 hexo-cli 里面 assets 的引用~具体还是看看 readMe 啰。
基于默认的 hexo-generator-index 的 fork~所以大致跟原生的一致,config 不一样,内部实现不一样。
实现代码还是不聊了,原理是利用数组处理的 sort 函数来做升降序排列而已啦,献丑献丑。
而关键字的优先级是这么排的,让文章按照 top
(置顶) -> updateDate
(二次更新时间) -> date
的降序排列~ 为什么我们需要 top
或者updateDate
呢?
title: Blog Log
date: 2015-04-23 00:35:45
updateDate: 2017-04-02 15:13:00
top: 1
所谓的“置顶”,越大的数值排得越前,写了一篇棒棒的文章当然想让它永远在前排 ^0^
默认按创建时间 date
排序,但达不到针对偶尔编辑的某篇文章,希望把它顶上来的需求(但不是置顶,还是按修改时间排序就好了)。
所以我添加了针对二次编辑更新时间的排序,添加了一个 updateDate
,跟原生的updated
区分开。我看默认有个updated
属性,但是貌似是系统记录文章编辑保存的时间,人肉编辑也没有效,所以还是自己加一个吧。
原生 generator 支持的创建日期排序。
好惭愧,第一次在社区发布 module,把这些步骤记录下来,方便以后给自己备忘,嘻嘻。
npm init
,系统会有很多提示的,不想输入一直按回车就可以,初始化成功后,会生成 package.json
i. 设置 npm 用户
这个账号会被添加到 npm 本地的配置中,用来发布 module 用,成功后用户信息会被存到 ~/.npmrc
。
$ npm adduser
Username: your name
Password: your password
Email: your email address
// 执行下面命令可以查看当前用户
$ npm whoami
ii. 设定版本号
package.json
里有个字段 version
,设定模块版本号
$ npm publish
那么版本号规则一般是怎样的呢?npm 社区有语义化版本的规则的~
版本格式:主版号。次版号.修订号,递增规则如下:
主版号:当你做了不相容的 API 修改, 次版号:当你做了向下相容的功能性新增, 修订号:当你做了向下相容的问题修正。
由于时间关系,在npm publish
后,我们的模块就发布成功了,快到没朋友,到 npm 社区 自己的主页上就能看到啦~
还蛮好玩的有木有,大家积极分享自己的模块吧:)