From f4f49cd244d2f840cbb79a9286973b5c98d4f534 Mon Sep 17 00:00:00 2001 From: Mhykol Date: Thu, 8 Jan 2026 07:23:16 -0500 Subject: Initial Commit --- src/sitemap.js | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 src/sitemap.js (limited to 'src/sitemap.js') diff --git a/src/sitemap.js b/src/sitemap.js new file mode 100644 index 0000000..1c07f99 --- /dev/null +++ b/src/sitemap.js @@ -0,0 +1,32 @@ +const buildPages = require('./buildpages') +const { SitemapStream, streamToPromise } = require('sitemap') +const { Readable } = require('stream') + +class Sitemap { + constructor(data) { + this.baseURL = data.baseURL + this.buildPages = buildPages({baseURL: this.baseURL}) + this.pages = this.#GetSitemap() + } + + Sitemap() {return this.pages} + + #GetSitemap() { + const pages = this.buildPages.GetSitemap() + const object = { + links: [], + remove: ['/', '/blog'], + stream: new SitemapStream({hostname: this.baseURL}) + } + + for (let i = 0; i < pages.length; i++) { + // ! Default priority + object.links.push({url: this.baseURL + pages[i].replace('/', ''), changefreq: 'weekly', priority: 0.8}) + } + + return streamToPromise(Readable.from(object.links).pipe(object.stream)).then(data => {return data.toString()}) + //return output + } +} + +module.exports = (x) => {return new Sitemap(x)} -- cgit v1.3.1