From 444123494601562f0260c55f2722bd4ca62ce979 Mon Sep 17 00:00:00 2001 From: Derek Hammond Date: Mon, 14 Jul 2025 09:53:25 -0500 Subject: [PATCH 1/4] Add sitemap generation --- api/sitemap.xml.js | 18 ++++++++++++++++++ package.json | 2 +- public/sitemap.xml | 2 +- scripts/generate-sitemap.js | 37 +++++++++++++++++++++++++++++++++++++ 4 files changed, 57 insertions(+), 2 deletions(-) create mode 100644 api/sitemap.xml.js create mode 100644 scripts/generate-sitemap.js diff --git a/api/sitemap.xml.js b/api/sitemap.xml.js new file mode 100644 index 0000000..c1e91c9 --- /dev/null +++ b/api/sitemap.xml.js @@ -0,0 +1,18 @@ +// Vercel API Route: /api/sitemap.xml +export default function handler(req, res) { + const baseUrl = 'https://circassimilate.com'; + const lastmod = new Date().toISOString().split('T')[0]; + + const sitemap = ` + + + ${baseUrl} + ${lastmod} + monthly + 1.0 + +`; + + res.setHeader('Content-Type', 'text/xml'); + res.status(200).send(sitemap); +} \ No newline at end of file diff --git a/package.json b/package.json index 7c4ba02..31c07e8 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,7 @@ }, "scripts": { "dev": "vite", - "build": "tsc && eslint src --ext .ts,.tsx,.js,.jsx && vite build", + "build": "tsc && eslint src --ext .ts,.tsx,.js,.jsx && node scripts/generate-sitemap.js && vite build", "preview": "vite preview", "test": "jest", "test:ci": "jest --coverage --watchAll=false", diff --git a/public/sitemap.xml b/public/sitemap.xml index d8cadd9..440872c 100644 --- a/public/sitemap.xml +++ b/public/sitemap.xml @@ -2,7 +2,7 @@ https://circassimilate.com - 2025-01-14 + 2025-07-14 monthly 1.0 diff --git a/scripts/generate-sitemap.js b/scripts/generate-sitemap.js new file mode 100644 index 0000000..3921671 --- /dev/null +++ b/scripts/generate-sitemap.js @@ -0,0 +1,37 @@ +#!/usr/bin/env node + +import { writeFileSync } from 'fs'; +import { fileURLToPath } from 'url'; +import { dirname, join } from 'path'; + +const __dirname = dirname(fileURLToPath(import.meta.url)); + +const generateSitemap = () => { + const baseUrl = 'https://circassimilate.com'; + const lastmod = new Date().toISOString().split('T')[0]; + + const pages = [ + { + url: '', + lastmod, + changefreq: 'monthly', + priority: '1.0' + } + ]; + + const sitemap = ` + +${pages.map(page => ` + ${baseUrl}${page.url} + ${page.lastmod} + ${page.changefreq} + ${page.priority} + `).join('\n')} +`; + + const sitemapPath = join(__dirname, '../public/sitemap.xml'); + writeFileSync(sitemapPath, sitemap); + console.log('✅ Sitemap generated successfully'); +}; + +generateSitemap(); \ No newline at end of file From c363c4c1895d9afda6bcf084f878a86a64b5f227 Mon Sep 17 00:00:00 2001 From: Derek Hammond Date: Mon, 14 Jul 2025 09:54:22 -0500 Subject: [PATCH 2/4] Set sitemap lastmod to yesterday --- public/sitemap.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public/sitemap.xml b/public/sitemap.xml index 440872c..3219d08 100644 --- a/public/sitemap.xml +++ b/public/sitemap.xml @@ -2,7 +2,7 @@ https://circassimilate.com - 2025-07-14 + 2025-07-13 monthly 1.0 From e8c291cd7b866dc0663fb3364c05cad2bd9b4c11 Mon Sep 17 00:00:00 2001 From: Derek Hammond Date: Mon, 14 Jul 2025 09:55:52 -0500 Subject: [PATCH 3/4] Change action name --- .github/workflows/{ci.yml => test.yml} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename .github/workflows/{ci.yml => test.yml} (99%) diff --git a/.github/workflows/ci.yml b/.github/workflows/test.yml similarity index 99% rename from .github/workflows/ci.yml rename to .github/workflows/test.yml index 4c31bcb..006ffc6 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/test.yml @@ -7,7 +7,7 @@ on: branches: [main] jobs: - ci: + test: runs-on: ubuntu-latest steps: From d4fa3a71b30af0c46cbb7d8b9b26fdd315882193 Mon Sep 17 00:00:00 2001 From: Derek Hammond Date: Mon, 14 Jul 2025 10:02:37 -0500 Subject: [PATCH 4/4] Generate sitemap on vercel deploy --- .gitignore | 5 ++++- package.json | 3 ++- public/sitemap.xml | 9 --------- vercel.json | 2 +- 4 files changed, 7 insertions(+), 12 deletions(-) delete mode 100644 public/sitemap.xml diff --git a/.gitignore b/.gitignore index f1945f9..fae9b60 100644 --- a/.gitignore +++ b/.gitignore @@ -29,4 +29,7 @@ yarn-error.log* .vercel # AI -.claude/* \ No newline at end of file +.claude/* + +# Auto-generated files (generated during deployment) +/public/sitemap.xml \ No newline at end of file diff --git a/package.json b/package.json index 31c07e8..a10c12d 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,8 @@ }, "scripts": { "dev": "vite", - "build": "tsc && eslint src --ext .ts,.tsx,.js,.jsx && node scripts/generate-sitemap.js && vite build", + "build": "tsc && eslint src --ext .ts,.tsx,.js,.jsx && vite build", + "build:production": "tsc && eslint src --ext .ts,.tsx,.js,.jsx && node scripts/generate-sitemap.js && vite build", "preview": "vite preview", "test": "jest", "test:ci": "jest --coverage --watchAll=false", diff --git a/public/sitemap.xml b/public/sitemap.xml deleted file mode 100644 index 3219d08..0000000 --- a/public/sitemap.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - https://circassimilate.com - 2025-07-13 - monthly - 1.0 - - \ No newline at end of file diff --git a/vercel.json b/vercel.json index c7000ed..199b50d 100644 --- a/vercel.json +++ b/vercel.json @@ -1,5 +1,5 @@ { - "buildCommand": "pnpm run build", + "buildCommand": "pnpm run build:production", "outputDirectory": "build", "installCommand": "pnpm install --frozen-lockfile", "framework": "vite",