- Add render_trip_element macro to macros.html; use it in trip_item for the trip list page, giving a consistent one-line-per-element format with emoji, route, times, duration, operator, distance, and CO₂ - Redesign trip_page.html itinerary: day headers use date-only (no year), condense check-out to a single accent line, show time-only on transport cards, humanise duration (Xh Ym), km-only distance, add CO₂ for all transport modes, fix seat display for integer seat values - Fix UndefinedError on /trip/past caused by absent 'arrive' key (Jinja2 Undefined is truthy) and date-only depart/arrive fields (no .date()) - Improve mobile map layout: text column before map in HTML order, reduce mobile map heights, hide toggle button on mobile - Add trips.css with design system (Playfair Display / Source Sans 3 / JetBrains Mono, navy/gold/amber palette, card variants by type) - Add tests/test_trip_list_render.py covering the rendering edge cases Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| agenda | ||
| frontend | ||
| static | ||
| templates | ||
| tests | ||
| .eslintrc.js | ||
| .gitignore | ||
| AGENTS.md | ||
| get_airport.py | ||
| LICENSE | ||
| package.json | ||
| parse_airbnb.py | ||
| README.md | ||
| requirements.txt | ||
| run.fcgi | ||
| update.py | ||
| validate_yaml.py | ||
| web_view.py | ||
| webpack.config.js | ||
Personal agenda web app
Overview
The Agenda project is a comprehensive tool designed to keep track of various events and important dates, from holiday schedules to waste collection dates. It's an all-in-one solution for staying on top of your personal agenda.
Features
- Event Management: Handles various types of events like birthdays, holidays, travel itineraries, conferences, and waste collection schedules.
- Timezone Handling: Supports conversion and management of events across different time zones.
- Data Sources Integration: Integrates with various sources like the UK and US holiday calendars, waste collection schedules, and space launch information.
- Custom Event Scheduling: Allows defining custom recurring events using RRULE strings.
- Dashboard View: Provides a web interface to display all upcoming events in an organized manner.
Installation
Prerequisites
- Python 3
- Flask
- Other dependencies listed in
requirements.txt
Setup
- Clone the repository:
git clone https://git.4angle.com/edward/agenda - Navigate to the project directory:
cd agenda - Install required Python packages:
pip install -r requirements.txt
Configuration
- Configure the
configfile with the necessary API keys and data directories. - Personal data such as birthdays, accommodation details, and travel plans should be placed in the specified data directory.
Usage
To run the web server:
python web_view.py
Access the web interface through a browser at http://localhost:5000/.
Modules Overview
The project is structured into several modules, each handling a specific aspect of the agenda:
- Accommodation, Birthday, Calendar, Conference: Manage specific event types.
- FX, GWR, Economist: Integrate with external data sources for financial information, railway schedules, and publication dates.
- Sun, TheSpaceDevs, Travel: Calculate sunrise/sunset times, track space launches, and manage travel plans.
- Waste Schedule, UK Holiday: Handle waste collection schedules and UK holidays.
Data Management
The data.py script is central to the functioning of the Agenda project. It compiles events from various sources and presents them in a unified format. Edit this file to modify or add new event sources.
Customization
You can customize the script to add or remove features and modify data sources as needed.
License
This project is licensed under the MIT License. Feel free to use, modify, and distribute it as per the license terms. See the LICENSE file for details.
Contact
If you have any questions or need assistance, feel free to contact the project maintainer: