const fs = require('fs') const globby = require('globby') function addPage(page) { const path = page.replace('pages', '').replace('.js', '').replace('.mdx', '') const route = path === '/index' ? '' : path return ` ${`https://hackclub.com${route}/`} hourly ` } async function generateSitemap() { // Ignore Next.js specific files (e.g., _app.js) and API routes const pages = await globby([ 'pages/**/*{.js,.mdx}', '!pages/_*.js', '!pages/api' ]) const rewrites = [ '/hcb', '/team', '/map', '/vip-newsletters', '/conduct', '/sponsorship', '/banner' ] rewrites.map(path => pages.push(path)) const sitemap = ` ${pages.sort().map(addPage).join('\n')} ` fs.writeFileSync('public/sitemap.xml', sitemap) } generateSitemap()