
Major Upgrade to Astro v7 and Dynamic Future-Dating
An overview of the major website overhaul, shifting to Astro v7, Tailwind CSS v4, and dynamic on-demand rendering using Netlify serverless functions.
Chris ThamMon Jul 13 2026We are excited to announce a major upgrade of our website (version 4.0.0). We have transitioned our codebase to the modern web stack, incorporating Astro v7, Tailwind CSS v4, and dynamic Server-Side Rendering (SSR).
Porting and Enhancing the Original Template
This update was made possible using Antigravity, a powerful agentic AI coding assistant designed by the Google Deepmind team. Antigravity was first used to enhance the original template repository (hello-astro), which was then ported to this project. This collaborative pair programming effort allowed us to modernize the site architecture while preserving our custom branding, layout structure, Netlify forms, Leaflet map integrations, and signature pink/purple theme colours.
Transitioning to Dynamic Future-Dating (SSR)
Previously, the site was built entirely as a static site. This meant that any future-dated articles would not appear on the live site until a new deployment was manually triggered or scheduled.
To solve this, we have enabled dynamic on-demand rendering utilizing native Astro features. By adding the @astrojs/netlify adapter and setting our dynamic routes to run in server mode (export const prerender = false), the deployed site now checks the system date at the exact moment of request:
- Future-dated blog posts remain hidden and return a standard
404 Not Foundresponse until their release date is reached.
- As soon as the current system date passes the article’s publish date, it immediately appears on the homepage, blog listings, categories, tags, author feeds, and the RSS feed—all without requiring a rebuild or redeployment.
Key Changes in this Major Overhaul:
- Engine Upgrades: Astro v7, Tailwind CSS v4, and Pagefind v1.5.2 search indexing.
- Dynamic Rendering: On-demand rendering using Netlify functions for home page summaries, blog rolls, category/tag lists, and detail views.
- RSS Feeds: Dynamic, real-time generation of the
/rss.xmlfeed matching the current system date. - Modernized Configs: Standardized on flat ESLint configurations (
eslint.config.mjs) and Prettier configs (.prettierrc.mjs). - Content Loaders: Content schemas migrated to use Astro’s modern glob and file loaders (migrating social JSON feeds into a single
src/social.jsonloader).