hexo-swiper修改逻辑

原文件是直接使用swiper_index对文章进行排序,但是文章一多就会难以更换文章顺序,并且轮播的文章过多右边的轮换条会不好看,这里进行一些定制化

修改:

  • 先按照优先级排序,获取最高优先级的前2篇文章
  • 之后按照发布时间排序,获取最新发布的前3篇文章

node_modules/hexo-butterfly-swiper/index.js 修改代码为一下逻辑

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// 对swiper_list进行处理,使其按照index大小进行排序
function sortNumber(a, b) {
return b.swiper_index - a.swiper_index
}
swiper_list = swiper_list.sort(sortNumber);
// 仅仅获取前两个
let swiper_list_t = swiper_list.slice(0, 2)
// 按照date排序,date格式为2023-10-28 11:06:39
function sortDate(a, b) {
return new Date(b.date) - new Date(a.date)
}
swiper_list = swiper_list.sort(sortDate)
// 获取最新发布的前三个日期
swiper_list = swiper_list.slice(0, 3)
// 合并数组
swiper_list = swiper_list_t.concat(swiper_list)