Protect Earth is a charity working on ecosystem creation and restoration all over the UK, starting with woodland creation but expanding into ancient woodland restoration, grassland and wetland restoration. We're even working with beavers to fix up their habitat in Bath.
Our founders are techies, and we're using tech to improve transparency and show what we're doing, but we're all unpaid and absolutely overwhelmed trying to do all the actual rewilding work leaving our website in a bit of a state. With the help of some volunteers we are rewriting it from horrible Squarespace static site, to Astro powered by our existing amazing REST API built with Laravel PHP. This will help us cut down on wasting money hiring data entry "webmasters" (who would rather be doing anything else), and let us drastically improve transparency to show everyone exactly what we're up to and exactly where.
The website needs your help so we can launch it. Replacing protect.earth with protect-earth-website.netlify.app as soon as it is ready to go, then onwards and upwards improving everything.
- Show GIS areas on the maps instead of a pin. See exactly what we did on exactly what land.
- Fundraising - particular sites have trees or square meters that need sponsorship, so why not sponsor a site you like the look of.
- Replace the shopify store, if we do the above, why give any money to the AI warlord running Shopify.
The website currently includes all the basic marketing type stuff you'd expect from a charity.
- Editorial content (articles, team, press)
- Map-driven "sites" pages to show our ecosystem restoration work, pulled from our "Tree Tracker API"
- "Site update" content synced from Notion (for now) to show progress over 30 years
We've built some utility scripts to pull data from the API and Notion into this Astro static site, but you cannot and should not bother with those. Just treat this like a static site and let us phase that awkward sync out.
Use these docs as your starting point:
- Concepts: docs/concepts.md
- Scripts: docs/scripts.md
- Architecture: docs/architecture.md
- Contributing: CONTRIBUTING.md
- Install dependencies
pnpm install
- Create your local environment file
cp .env.example .env
- Start development server
pnpm dev
- Build production output
pnpm build
Start here if you are new to this repository:
- Sites: docs/concepts.md#sites
- Site Updates: docs/concepts.md#site-updates
- Content Collections: docs/concepts.md#content-collections
Script workflows are documented in docs/scripts.md but they are best avoided unless you're core team.
Run Prettier (including the Prettier Astro plugin) using:
pnpm format:check
pnpm format:writeHuge work from the following legends got us this far, and have nearly freed us from Squarespace.
- Jon Park - Most of this rewrite was Jon. 🥰