@@ -55,6 +55,9 @@ export default async function sitemap(): Promise<MetadataRoute.Sitemap> {
5555 const [ ctfSitemap , ctfFeedItems ] = await articleSitemap ( "ctf" , "CTF" ) ;
5656 ctfFeedItems . forEach ( ( item ) => feed . addItem ( item ) ) ;
5757
58+ const [ researchSitemap , researchFeedItems ] = await articleSitemap ( "research" , "Research" ) ;
59+ researchFeedItems . forEach ( ( item ) => feed . addItem ( item ) ) ;
60+
5861 feed . options . updated = feed . items . reduce ( ( latest , item ) => {
5962 return item . date > latest ? item . date : latest ;
6063 } , feed . items [ 0 ] . date ) ;
@@ -64,9 +67,10 @@ export default async function sitemap(): Promise<MetadataRoute.Sitemap> {
6467 return [
6568 {
6669 url : baseUrl ,
67- lastModified : mustParseDate ( "2025-05-11T11:15:13Z " ) ,
70+ lastModified : mustParseDate ( "2025-10-19T14:13:00Z " ) ,
6871 } ,
6972 ...ctfSitemap ,
73+ ...researchSitemap ,
7074 ] ;
7175}
7276
@@ -75,28 +79,29 @@ async function articleSitemap(
7579 category : FeedCategory ,
7680) : Promise < [ MetadataRoute . Sitemap , FeedItem [ ] ] > {
7781 const pages = await articles . list ( ) ;
78- const pagesWithMeta = await Promise . all (
82+ const pagesWithMeta = ( await Promise . all (
7983 pages . map ( async ( page ) => {
8084 const meta = await articles . loadMetadata ( page . slug ) ;
8185 return {
8286 slug : page . slug ,
87+ section : meta . section ,
8388 title : meta . title ,
8489 summary : meta . summary ,
8590 author : meta . author ,
8691 publishedAt : new Date ( meta . publishedAt ) ,
8792 modifiedAt : new Date ( meta . modifiedAt ) ,
8893 } ;
8994 } ) ,
90- ) ;
95+ ) ) . filter ( ( page ) => page . section === section ) ;
9196 pagesWithMeta . sort (
9297 ( a , b ) => b . publishedAt . getTime ( ) - a . publishedAt . getTime ( ) ,
9398 ) ;
9499
95100 const sitemap : MetadataRoute . Sitemap = [
96- {
97- url : `${ baseUrl } /${ section } ` ,
98- lastModified : pagesWithMeta [ 0 ] . modifiedAt ,
99- } ,
101+ // {
102+ // url: `${baseUrl}/${section}`,
103+ // lastModified: pagesWithMeta[0].modifiedAt,
104+ // },
100105 ...pagesWithMeta . map ( ( page ) => ( {
101106 url : `${ baseUrl } /${ section } /${ page . slug } ` ,
102107 lastModified : page . modifiedAt ,
0 commit comments