打开/关闭菜单
打开/关闭外观设置菜单
打开/关闭个人菜单
未登录
登录后可编辑和发表评论。

注意:在发布之后,您可能需要清除浏览器缓存才能看到所作出的更改的影响。

  • Firefox或Safari:按住Shift的同时单击刷新,或按Ctrl + F5Ctrl + R(Mac为 R
  • Google Chrome:Ctrl + Shift + R(Mac为 Shift R
  • Edge:按住Ctrl的同时单击刷新,或按Ctrl + F5
$(function () {
  const $container = $('#catlinks');
  const $normalSection = $container.find('.mw-normal-catlinks');
  const $ul = $normalSection.find('ul');

  if (!$ul.length) return;

  const dateCats = [];
  const normalCats = [];

  const dateRegex = /(\d{2,4}年|\d{1,2}月|\d{1,2}日|\d{4}[-/]\d{1,2}([-\/]\d{1,2})?)/;

  $ul.children('li').each(function () {
    const $li = $(this);
    const text = $.trim($li.text());

    if (dateRegex.test(text)) {
      dateCats.push($li);
    } else {
      normalCats.push($li);
    }
  });

  // 保留HotCat挂钩
  const $hotcatArea = $container.find('.catlinks-allhidden, .catlinks-hotcat, .catlinks-add');

  $ul.empty();

  // 创建分块
  function makeBlock(title, items) {
    if (items.length === 0) return null;
    const $div = $('<div class="cat-split-block">');
    const $list = $('<ul>');
    items.forEach($li => $list.append($li));
    $div.append(title, ":&ZeroWidthSpace;", $list);
    return $div;
  }

  const blocks = [
    makeBlock('分类', normalCats),
    makeBlock('日期分类', dateCats)
  ].filter(Boolean);

  $ul.append(blocks);

  if ($hotcatArea.length) {
    $ul.after($hotcatArea);
  }
});