☀️ rhygfuehl.ch shows the current Rhine temperature of Basel in a clear app that can be easily accessed via a web browser. The app also shows a simplified temperature history of the last 12 hours and the current air temperature at Untere Rheingasse.
Support this project:
How it works
The application uses Astro for pre-rendering a static site with extreme SEO optimization and zero baseline JavaScript.
Every 15 minutes, a GitHub Actions cron job triggers the data/aggregation.py script to fetch the latest Rhine temperatures and water levels from the Open Data Basel-Stadt APIs. The script writes this data into static JSON files.
Immediately after fetching, the GitHub Action builds the Astro site, directly injecting the latest temperatures into the HTML <meta name="description"> tags for immediate SEO indexing, and then deploys to GitHub Pages.
Local Development
To run this project locally, ensure you have Node.js installed.
Install dependencies:
npm install
Start the local development server:
npm run dev
The site will be available at http://localhost:4321.
Build for production:
npm run build
The static output will be generated in the dist/ directory.
Contributing
Contributions, issues and feature requests are welcome!
Feel free to check the issues page.
License
This project is licensed under the MIT License - see the LICENSE file for details.
rhygfuehl.ch
☀️ rhygfuehl.ch shows the current Rhine temperature of Basel in a clear app that can be easily accessed via a web browser. The app also shows a simplified temperature history of the last 12 hours and the current air temperature at Untere Rheingasse.
Support this project:
How it works
The application uses Astro for pre-rendering a static site with extreme SEO optimization and zero baseline JavaScript.
Every 15 minutes, a GitHub Actions cron job triggers the
data/aggregation.pyscript to fetch the latest Rhine temperatures and water levels from the Open Data Basel-Stadt APIs. The script writes this data into static JSON files.Immediately after fetching, the GitHub Action builds the Astro site, directly injecting the latest temperatures into the HTML
<meta name="description">tags for immediate SEO indexing, and then deploys to GitHub Pages.Local Development
To run this project locally, ensure you have Node.js installed.
Install dependencies:
Start the local development server:
The site will be available at
http://localhost:4321.Build for production:
The static output will be generated in the
dist/directory.Contributing
Contributions, issues and feature requests are welcome! Feel free to check the issues page.
License
This project is licensed under the MIT License - see the LICENSE file for details.