Skip to content
Closed
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,12 @@
"build-member-files": "node scripts/loadMemberFiles.js",
"local-dev": "cross-env NODE_ENV=development pnpm netlify dev",
"build": "next build",
"postbuild": "pnpm generate-sitemap",
"start": "next start",
"prebuild": "pnpm build-member-files",
"watch": "npm-watch",
"dev": "pnpm build-member-files && concurrently \"pnpm watch\" \"pnpm local-dev\""
"dev": "pnpm build-member-files && concurrently \"pnpm watch\" \"pnpm local-dev\"",
"generate-sitemap": "node scripts/generate-sitemap.mjs"
},
"watch": {
"build-member-files": "src/content/members/**/*.ts"
Expand Down
46 changes: 46 additions & 0 deletions public/sitemap.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">

<url>
<loc>https://virtualcoffee.io</loc>
<lastmod>2024-10-07T18:30:23.482Z</lastmod>
<changefreq>yearly</changefreq>
<priority>1</priority>
</url>

<url>
<loc>https://virtualcoffee.io/about</loc>
<lastmod>2024-10-07T18:30:23.482Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>

<url>
<loc>https://virtualcoffee.io/blog</loc>
<lastmod>2024-10-07T18:30:23.482Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>

<url>
<loc>https://virtualcoffee.io/events</loc>
<lastmod>2024-10-07T18:30:23.482Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>

<url>
<loc>https://virtualcoffee.io/podcast</loc>
<lastmod>2024-10-07T18:30:23.482Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>

<url>
<loc>https://virtualcoffee.io/contact</loc>
<lastmod>2024-10-07T18:30:23.482Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.4</priority>
</url>

</urlset>
67 changes: 67 additions & 0 deletions scripts/generate-sitemap.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
import fs from 'fs';
import path from 'path';
import { fileURLToPath } from 'url';

const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);

function sitemap() {
return [
{
url: 'https://virtualcoffee.io',
lastModified: new Date(),
changeFrequency: 'yearly',
priority: 1,
},
{
url: 'https://virtualcoffee.io/about',
lastModified: new Date(),
changeFrequency: 'monthly',
priority: 0.8,
},
{
url: 'https://virtualcoffee.io/blog',
lastModified: new Date(),
changeFrequency: 'weekly',
priority: 0.5,
},
{
url: 'https://virtualcoffee.io/events',
lastModified: new Date(),
changeFrequency: 'weekly',
priority: 0.6,
},
{
url: 'https://virtualcoffee.io/podcast',
lastModified: new Date(),
changeFrequency: 'monthly',
priority: 0.7,
},
{
url: 'https://virtualcoffee.io/contact',
lastModified: new Date(),
changeFrequency: 'yearly',
priority: 0.4,
},
]
}

console.log('Generating sitemap...');

const sitemapContent = sitemap().map(entry => `
<url>
<loc>${entry.url}</loc>
<lastmod>${entry.lastModified.toISOString()}</lastmod>
<changefreq>${entry.changeFrequency}</changefreq>
<priority>${entry.priority}</priority>
</url>
`).join('');

const sitemapXml = `<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
${sitemapContent}
</urlset>`;

const outputPath = path.join(__dirname, '../public/sitemap.xml');
fs.writeFileSync(outputPath, sitemapXml, 'utf8');
console.log(`Sitemap generated successfully at ${outputPath}`);