No updates detected yet. GitHub releases will appear here.
Loading the full README. The saved excerpt is shown below.
A minimalist weather app in plain HTML/CSS/JS — no frameworks, no build tools, no API key. Uses the Open-Meteo API for geocoding and forecasts, and OpenStreetMap Nominatim to name your current location.Read the full README ↗A minimalist weather app in plain HTML/CSS/JS — no frameworks, no build tools, no API key. Uses the Open-Meteo API for geocoding and forecasts, and OpenStreetMap Nominatim to name your current location.
localStorage), accessible from a star button/dropdown next to the search bar, with a blurred backdrop while it's open and up/down buttons to reorder them?lat=...&lon=...&name=...&country=...) — the address bar always reflects the current city, and a share button next to the city name copies/shares the linklocalStoragelocalStorage (defaults to English on first visit)No build step or dependencies to install. Since the files use fetch and relative paths, they need to be served over HTTP (opening index.html directly via file:// can fail due to CORS in some browsers). Any static server works, for example:
python3 -m http.server 8000
then open http://localhost:8000 in your browser.
index.html page structure
css/style.css styles
js/app.js logic: geocoding, weather fetch, render, state
sw.js service worker (caches the app shell)
manifest.json PWA manifest
icons/ PWA icons
test/ automated tests (see Testing below)
The app itself still has no dependencies, but the test suite runs on Node's built-in test runner (Node 18+):
npm test
Since js/app.js is a plain script with no exports (by design — no build
step, no modules), tests work by giving it a fake document/window/
localStorage/fetch (see test/dom-stub.js) and asserting on what it
renders, the same way a real browser tab would host it. No network calls are
made — test/fixtures.js has canned Open-Meteo/Nominatim-shaped responses.
Published on Vercel as a static site, imported directly from this repo (no custom build command or output directory — Vercel serves index.html from the root as-is). Every push to main deploys automatically to https://climoscope-drab.vercel.app/.