From 115ab1b45be4ca60358f55d20a491629700dd96a Mon Sep 17 00:00:00 2001 From: GauthierWebDev Date: Fri, 18 Apr 2025 18:25:34 +0200 Subject: [PATCH] refactor(Sitemap): Update loadLastModified method to accept fs.Stats --- app/data/certifications/{index => }/page.md | 0 app/data/docs/{documentations => }/page.md | 0 app/data/{docs/index => }/page.md | 0 app/services/Sitemap.ts | 23 +++++++++++++++------ 4 files changed, 17 insertions(+), 6 deletions(-) rename app/data/certifications/{index => }/page.md (100%) rename app/data/docs/{documentations => }/page.md (100%) rename app/data/{docs/index => }/page.md (100%) diff --git a/app/data/certifications/index/page.md b/app/data/certifications/page.md similarity index 100% rename from app/data/certifications/index/page.md rename to app/data/certifications/page.md diff --git a/app/data/docs/documentations/page.md b/app/data/docs/page.md similarity index 100% rename from app/data/docs/documentations/page.md rename to app/data/docs/page.md diff --git a/app/data/docs/index/page.md b/app/data/page.md similarity index 100% rename from app/data/docs/index/page.md rename to app/data/page.md diff --git a/app/services/Sitemap.ts b/app/services/Sitemap.ts index cc3c271..f36a283 100644 --- a/app/services/Sitemap.ts +++ b/app/services/Sitemap.ts @@ -79,8 +79,8 @@ class Sitemap { return (1 - countOfSlashes * 0.1).toFixed(1); } - private loadLastModified(href: string): string { - return this.lastModified; + private loadLastModified(stat?: fs.Stats): string { + return stat ? stat.mtime.toISOString() : this.lastModified; } private getFileServerLocation(href: string) { @@ -97,10 +97,15 @@ class Sitemap { private loadSubitems(subitems: (typeof navigation)[number]["links"][number]["subitems"]): void { subitems.forEach((subitem) => { const fileLocation = this.getFileServerLocation(subitem.href); - console.log("File location:", fileLocation); + let fileDetails: fs.Stats | undefined; + try { + fileDetails = fs.statSync(fileLocation); + } catch (error) { + console.error(`Error loading file for ${subitem.href}:`, error); + } const priority = this.loadPriority(subitem.href); - const lastmod = this.loadLastModified(subitem.href); + const lastmod = this.loadLastModified(fileDetails); const location = `${this.baseUrl}${subitem.href}`; this.urls.push({ @@ -118,10 +123,16 @@ class Sitemap { } const fileLocation = this.getFileServerLocation(link.href); - console.log("File location:", fileLocation); + let fileDetails: fs.Stats | undefined; + + try { + fileDetails = fs.statSync(fileLocation); + } catch (error) { + console.error(`Error loading file for ${link.href}:`, error); + } const priority = this.loadPriority(link.href); - const lastmod = this.loadLastModified(link.href); + const lastmod = this.loadLastModified(fileDetails); const location = `${this.baseUrl}${link.href}`; this.urls.push({