hexo增加文章排序

怎么说

在写博客时苦于没有排序,置顶?别慌,老司机来了。

正文

其实很简单

1.找到hexo-generator-index/lib/generator.js

2.对posts.data(储存着所有文章数据)进行自定义排序

代码如下

1
2
3
4
5
6
7
8
9
10
11
12
13
posts.data = posts.data.sort(function (a, b) {
if (a.top && b.top) {
if (a.top == b.top) return b.updated - a.updated; // 若top值一样则按照文章更新日期降序排
else return b.top - a.top; // 否则按照top值降序排
}
else if (a.top && !b.top) { // 以下是只有一篇文章top有定义,那么将有top的排在前面
return -1;
}
else if (!a.top && b.top) {
return 1;
}
else return b.updated - a.updated; // 都没定义按照文章更新日期降序排
});

我这里采用了更新时间来作为默认排序,如果大家对posts感兴趣,可以console.log出来

==弊端==:由于是修改的依赖包的源码,在代码迁移时要注意

其实我也是搜索出来的解决方案,分享一手。

原文链接 侵删

本文标题:hexo增加文章排序

文章作者:Coding_youth

发布时间:2018年02月02日 - 17:02

最后更新:2020年05月28日 - 19:05

原始链接:https://yangchendoit.github.io/2018/02/02/hexo增加文章排序/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

坚持原创技术分享,您的支持将鼓励我继续创作!