
The Fahrplan in the style of a Fahrplan.
1) Open index.html in a browser (no build steps needed).
2) Append URL parameters to filter the rendered plan:
only-day=<n>: Render a single conference day (e.g., only-day=1). Days use the indices from the JSON feed (see below; currently 0–4). Omit to show all days in one sheet. This also switches from per-day headers to time-band grouping.only-track=<nameOrCode>: Filter by track. Accepts full track names or the short codes from the track map (see table). Examples: only-track=Science, only-track=SCI.
Special modes as homage to their original meanings: only-track=fahrplan (main stage content only) and only-track=abfahrplan (music floors only), which override the only-room setting.only-room=<room>: Filter by room, case-insensitively (e.g., only-room=Stonewall IO). Abbreviations are intentionally not supported, but substrings work (e.g., only-room=Stonewall).tinted-background=false: Disable the default yellow-tinted background color.columns=<n>: Set the number of columns (e.g., columns=1 for a single-column layout). The page width scales proportionally from the 8-column default.
The special mode columns=mobile enables a single-column view that uses the full device width.
3) Parameters can be combined, e.g., ?only-day=2&only-track=SCI.We had some issues printing this to PDF if the size grows beyond DIN A0+. However, directly using the system (not the browser-provided) printing dialog and saving that as PDF or directly printing from that worked for us.
We strongly recommend directly using yellow paper (RAL 1003 Signalgelb/Signal Yellow) for physical prints (and setting tinted-background=false).
Feel free to fork this and use it on your event!
We plan to collect and archive Fahrpläne for various events. ❤️
If you create one for your event, please consider sharing it back with us so we can add it to the collection!
It should be as easy as forking this repo, adding a unique folder under events/ (possibly copying content from an existing event), and creating a pull request.
Top-level constants near the start of each event’s index.html control basic event-specific behavior:
scheduleUrl: JSON feed to load (currently the 39C3 schedule).trackMap: Map track names from the feed to short codes shown in the table.totalDays: Number of conference days used for day labels and footer copy.headerDateRange: Text shown in the top-left header.stationName: Main title in the header area (also used when showing active filters).timeRanges: Time-band labels for single-day grouping.roomAbbrevMap: Exact room name to abbreviation/icon mapping.mainStageRoomAbbrevs: Abbreviation list for main stage highlighting and only-track=fahrplan filtering.musicRoomNames: Room name list used for only-track=abfahrplan filtering.roomAbbrevPartial: Partial room name matches to abbreviation/icon mapping.For deeper layout or style tweaks, edit index.html and style.css directly.
If anything feels unclear, feel free to reach out (e.g., open an issue)!
You are invited to add yours.
A live departure-board-style monitor for congress talks, showing delays, scrolling titles, and a news ticker. Great for displaying on screens during the event.
A Typst-based Fahrplan generator, rendering the schedule as a clean vector graphic (SVG/PDF). Easy to configure.