fix: .date.getTime() based sort
This commit is contained in:
		
							parent
							
								
									bf603c49c2
								
							
						
					
					
						commit
						bc02791734
					
				
					 1 changed files with 11 additions and 2 deletions
				
			
		| 
						 | 
					@ -6,7 +6,6 @@ import { FilePath, FullSlug, SimpleSlug, simplifySlug } from "../../util/path"
 | 
				
			||||||
import { QuartzEmitterPlugin } from "../types"
 | 
					import { QuartzEmitterPlugin } from "../types"
 | 
				
			||||||
import { toHtml } from "hast-util-to-html"
 | 
					import { toHtml } from "hast-util-to-html"
 | 
				
			||||||
import path from "path"
 | 
					import path from "path"
 | 
				
			||||||
import { byDateAndAlphabetical } from "../../components/PageList"
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
export type ContentIndex = Map<FullSlug, ContentDetails>
 | 
					export type ContentIndex = Map<FullSlug, ContentDetails>
 | 
				
			||||||
export type ContentDetails = {
 | 
					export type ContentDetails = {
 | 
				
			||||||
| 
						 | 
					@ -60,7 +59,17 @@ function generateRSSFeed(cfg: GlobalConfiguration, idx: ContentIndex, limit?: nu
 | 
				
			||||||
  </item>`
 | 
					  </item>`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  const items = Array.from(idx)
 | 
					  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))
 | 
					    .map(([slug, content]) => createURLEntry(simplifySlug(slug), content))
 | 
				
			||||||
    .slice(0, limit ?? idx.size)
 | 
					    .slice(0, limit ?? idx.size)
 | 
				
			||||||
    .join("")
 | 
					    .join("")
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue