Jacky Zhao
2023-11-12 bc02791734aa969ff388c5f7068e402bd0e3862a
fix: .date.getTime() based sort
1 files modified
13 ■■■■ changed files
quartz/plugins/emitters/contentIndex.ts 13 ●●●● patch | view | raw | blame | history
quartz/plugins/emitters/contentIndex.ts
@@ -6,7 +6,6 @@
import { QuartzEmitterPlugin } from "../types"
import { toHtml } from "hast-util-to-html"
import path from "path"
import { byDateAndAlphabetical } from "../../components/PageList"
export type ContentIndex = Map<FullSlug, ContentDetails>
export type ContentDetails = {
@@ -60,7 +59,17 @@
  </item>`
  const items = Array.from(idx)
    .sort((a, b) => byDateAndAlphabetical(cfg)(a[1], b[1]))
    .sort(([_, f1], [__, f2]) => {
      if (f1.date && f2.date) {
        return f2.date.getTime() - f1.date.getTime()
      } else if (f1.date && !f2.date) {
        return -1
      } else if (!f1.date && f2.date) {
        return 1
      }
      return f1.title.localeCompare(f2.title)
    })
    .map(([slug, content]) => createURLEntry(simplifySlug(slug), content))
    .slice(0, limit ?? idx.size)
    .join("")