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()