Each Gantt bar and table row gets a data-conf-key attribute
(ISO start date + conference name). A small JS lookup map connects
them so hovering either element highlights both simultaneously:
- Gantt bar: filter brightness + inset white box-shadow
- Table row: yellow tint via background-color
Hovering a Gantt bar also scrolls the matching table row into view
(scrollIntoView nearest) so future conferences are reachable without
manual scrolling. The key field is pre-computed in
build_conference_timeline() to keep the template simple.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Proper <table> with colgroup widths, table-sm table-hover align-middle
- Month-divider rows (MARCH 2026, APRIL 2026, …) break up long lists
- Date ranges collapsed to a single column (e.g. "25–28 Mar 2026")
- Row highlight (conf-going) for conferences marked going=true
- Topic and date columns styled text-muted small to reduce visual noise
- Trip links replaced with 🧳 emoji: shows just the emoji when the trip
title matches the conference name (the common case), otherwise appends
the trip title (e.g. "🧳 Budapest" for FOSDEM); full title always in
tooltip
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Shows the next 90 days as a horizontal bar chart above the conference
list. A greedy interval-colouring algorithm assigns each conference to a
lane so overlapping conferences appear in separate rows. Lane colour
cycles through a fixed palette so simultaneous events are easy to tell
apart. Month boundary markers and a red today-line provide orientation.
All position maths happens in build_conference_timeline() in Python;
the Jinja template is pure rendering.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Show count of conferences in each section (Current/Future/Past)
- Include proper pluralization (1 conference vs N conferences)
- Use Jinja2 template logic for count calculation and display
Fixes#195
Trip prices are visible on trip list, accommodation list,
conference list and travel list.
Prices are hidden if not logged in, except conference prices.
Still need to show prices on individual trip page.
Creating a new entity called a trip. This will group together any travel
accommodation and conferences that happen together on one trip.
A trip is assumed to start when leaving home and finish when returning
home.
The start date of a trip in is the trip ID. The date is written in ISO
format.
This assumes there cannot be multiple trips one one day. This assumption
might be wrong, for example a morning day trip by rail, then another
trip starts in the afternoon. I can change my choice of using dates as
trip IDs if that happens.
Sometimes during the planning of a trip the start date is unknown. For
now we make up a start date, we can always change it later. If we use
the start date in URLs then the URLs will change. Might need to keep a
file of redirects, or could think of a different style of identifier.
Trip ID have been added to accommodation, conferences, trains and
flights.
Later there will be a trips.yaml with notes about each trip.