Problem
Issue surfaced by #423. Fling event pages use inconsistent layouts. The 2015 and 2016 pages use the shared layout: event template, while 2017, 2019, 2023, and 2025 each have their own one-off layout file (event-2017.html, etc.) with page-specific CSS, custom section structure, and hardcoded HTML.
This creates several problems:
- Each newer layout overrides global nav styles (e.g.
nav { position: absolute; background: transparent }), breaking the mobile navigation
- The color changes and slight differences in the spacing of the nav menus across these pages break the cohesion of the site overall
- Adding a new fling event would require copying and editing an entire bespoke layout file
Proposed Solution — Shared layout: fling
Create a single _layouts/fling.html that all fling pages use, replacing the per-year layout files, and modify the layouts of past flings to adopt this template.
This layout should:
- Remove the per-page
nav override entirely — the global nav styles handle positioning and background correctly
- Support the richer content model introduced in newer layouts: schedule with talk/keynote/workshop types, slides and video links, multi-tier sponsors (platinum/gold/silver/bronze/friends), location map
- Use front matter for all structured data (schedule, sponsors, location) so page content stays in markdown
- Apply a consistent, maintainable design that works on both desktop and mobile
Problem
Issue surfaced by #423. Fling event pages use inconsistent layouts. The 2015 and 2016 pages use the shared
layout: eventtemplate, while 2017, 2019, 2023, and 2025 each have their own one-off layout file (event-2017.html, etc.) with page-specific CSS, custom section structure, and hardcoded HTML.This creates several problems:
nav { position: absolute; background: transparent }), breaking the mobile navigationProposed Solution — Shared
layout: flingCreate a single
_layouts/fling.htmlthat all fling pages use, replacing the per-year layout files, and modify the layouts of past flings to adopt this template.This layout should:
navoverride entirely — the global nav styles handle positioning and background correctly