Skip to content

Repository files navigation

DevTalents website

Static Astro migration of https://devtalents.com, preserving the public URL contract, page design, assets, forms and approved analytics without a WordPress runtime. The canonical production host is always the apex domain (devtalents.com, never www).

Local development

bin/setup
bin/dev

bin/setup installs Node 24 through mise when available, installs npm dependencies and creates an ignored .dev.vars from the example without overwriting local values. bin/dev works from any current directory, starts in the background on fixed port 4325, and listens on every network interface. Use http://localhost:4325 on this computer or http://<LAN-IP>:4325 from another device. The other sites use ports 4321–4324, so all five projects can run side by side.

Commands

npm run snapshot    # refresh structured source data/assets from the owned live site
npm run check       # Astro/TypeScript diagnostics
npm run build       # static output, sitemaps, RSS and final CSP
npm test            # contract + browser tests

The migration contains 187 sitemap-contract URLs and 19 working support pagination URLs. Support pages are noindex; search is served at the legacy /?s= URL and gets an X-Robots-Tag from the Pages middleware. Legacy sitemap filenames and a valid /feed/ are generated during build.

Thirteen stale unitedideas.co image references are repaired and self-hosted. Seven stock photos are restored from their original Pexels identifiers, the Ruby/Rails marks from Wikimedia Commons, and two unrecoverable quote cards are reconstructed as accessible SVG assets from their surrounding article copy.

Fidelity and integrations

npm run test:visual compares seven representative page types at desktop, tablet and mobile sizes against the live site. The checked-in qa/visual-report.json records 21/21 passing comparisons at a 0.5% pixel-difference threshold (maximum 0.1306%).

The migration preserves Cookiebot, GTM container GTM-NTNGF2H (including its GA4/Matomo configuration), the lazy Jivo widget and the original Calendly scheduling URL/event behaviour. The legacy Mautic bootstrap was intentionally removed because its configured tenant is gone and the live script only emits mt not defined warnings.

Forms

WordPress CF7 forms post to Cloudflare Pages Functions under /api/forms/cf7-* and display success/errors inline. Copy .dev.vars.example values into Cloudflare secrets before production use. Job applications accept up to two DOC, DOCX or PDF attachments, 5 MiB each.

Deployment

The Cloudflare workflow is deliberately manual (workflow_dispatch) so pushing this migration cannot deploy it before DNS and Pages are ready. Configure the repository secrets listed in .github/workflows/deploy.yml, then run the workflow in the later deployment step.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages