文章摘要 FakeGPT
加载中...|
随着全站更名为 “逆熵角落” 并更新视觉 Logo 标识,我需要对文章排序系统做更高级的权重置顶调整。原主题只能进行二元置顶(top: true / false),多篇置顶文章之间无法手动干预相对顺序。
1. 多级排序算法设计
重构数据管道排序规则,通过多级权重解析数字属性,实现自定义绝对权重:
- 普通置顶:使用
top: true(映射为默认权重1)。 - 自定义权重:使用明确的整数(如
top: 10,top: 100)。数值越高的文章,排序越靠前。 - 多级容错:当权重相同时,或未设置置顶时,回退到按发布日期降序排列。
2. 精确数据层代码重构
javascript
// .vitepress/theme/utils/getPostData.mjs
/**
* 综合优先级排序算法
*/
const comparePostPriority = (a, b) => {
const getWeight = (val) => {
if (typeof val === "number") return val;
return val ? 1 : 0; // true 隐式转换为 1,false 转换为 0
};
const weightA = getWeight(a.top);
const weightB = getWeight(b.top);
// 1. 优先按置顶权重数字高低进行排序
if (weightA !== weightB) {
return weightB - weightA;
}
// 2. 权重完全相同时,回退至按发布时间日期降序排列
return compareDate(a, b);
};多级权重文章置顶与排序算法重构https://blog.chgr.cc/posts/2026/0522
评论 隐私政策