Netlify Status

The source code for astro.build, built with Astro.

Updating Themes

The themes catalog is based the theme.json file, updated nightly by the Nightly GitHub Action.

The nightly job collects individual JSON files for each theme, pulls down a bit of information from GitHub for each theme, and compiles them into the main themes.json file used to actually render the themes catalog.

zod is used for data validation - any themes with invalid data should hit build errors during astro dev and astro build.

Manually updating themes.json

When adding a new theme, it's important to run pnpm update:themes locally to rebuild the themes.json file locally. Commit this file as part of any PR that adds a new theme to make sure it's visible in the PR preview 🚀

Updating the Showcase

The showcase doesn't depend on any data from GitHub or NPM. When adding a new showcase just include the image in src/data/showcase/images and add the JSON file.

Updating Integrations

Similar to the themes catalog, the integrations catalog also depends on data from GitHub and NPM. The same nightly GitHub Action rebuilds the integration catalog, and zod is also used here so invalid data should be caught during dev and build.