Renewal Africa Website for Testing
# Renewal Africa Foundation — Microsite
A single-file, no-build website for Renewal Africa Foundation, a Kenya-registered Public
Benefit Organization working across four programme areas: WASH & Health, Environment &
Clean Energy, Sustainable Agriculture & Livelihoods, and Protection & Social Inclusion.
Everything — markup, styling, and behaviour — lives in one file: **`index.html`**. There
is no build step, no package manager, and no server-side code.
## Features
- Hash-based multi-page routing (Home, About, Board, four theme pages, Dashboard, Field
Map, Voices, Support & Contact) inside a single HTML file
- A client-side, password-gated **admin mode** for editing content directly on the live
site — add/remove map pins and field-voice stories, change the admin password
- A live **field map** (Leaflet) with geocoded pin placement via OpenStreetMap Nominatim
- An **activities dashboard** (Chart.js) with a monthly trend line and a programme-reach
doughnut chart
- A donation funnel, contact form, and FAQ accordion
- Scroll-reveal animations, animated counters, header shrink-on-scroll, and a back-to-top
button — all respecting `prefers-reduced-motion`
- Fully responsive, including a mobile slide-out nav menu
## Running it locally
Because the admin login uses the Web Crypto API (`crypto.subtle`), which browsers only
expose in a **secure context**, don't just double-click `index.html` and open it via
`file://` — `crypto.subtle` is unavailable there in most browsers, so admin login will show
a "needs a secure connection" message. Instead, serve the folder locally:
```bash
# Python (built into most systems)
python3 -m http.server 8000
# or Node
npx serve .
```
Then open `
localhost`. `localhost` counts as a secure context, so everything
— including admin login — works exactly as it will once deployed.
## Deploying to GitHub Pages
1. Push this repo to GitHub.
2. In the repo, go to **Settings → Pages**.
3. Under **Build and deployment**, choose **Deploy f …