文章摘要
加载中...|
此内容根据文章生成,并经过人工审核,仅用于文章内容的解释与总结

随着全站更名为 “逆熵角落” 并更新视觉 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);
};
评论 隐私政策