Conversation
There was a problem hiding this comment.
Pull request overview
Updates the Maintainer Month website for the 2026 rollout, including new site features (Ships page, ICS export), accessibility/responsiveness improvements, and year-based routing/archiving for prior schedules and events.
Changes:
- Adds a new “Ships” page fed by
content/ships/ships.jsonand includes supporting styles/tests. - Improves schedule UX (filtering, date grouping, empty states) and introduces build-time ICS generation.
- Rolls site copy/routing forward to 2026 while adding archived schedule routes and moving 2025 event content into
content/2025/events/.
Reviewed changes
Copilot reviewed 64 out of 104 changed files in this pull request and generated 12 comments.
Show a summary per file
| File | Description |
|---|---|
| tests/ships.test.js | Validates ships JSON schema/constraints. |
| tests/events.test.js | Updates event parsing expectations (incl. timeDisplay). |
| tests/event-parsing.test.js | Adds coverage for TBD/all-day times and multi-day endDate parsing. |
| styles/styles.scss | Registers Ships component stylesheet. |
| styles/base.scss | Adds skip-link and screen-reader-only utilities; improves focus outline. |
| public/maintainer-month-2026.ics | Adds an ICS file placeholder in public/. |
| public/icons/twitch.js | Adds Twitch icon component. |
| public/icons/rocket.js | Adds Rocket icon for Ships nav entry. |
| public/icons/bluesky.js | Adds Bluesky icon component. |
| pages/ships.js | Adds /ships page that renders ships data. |
| pages/security-challenge.js | Updates Security Challenge page copy/meta tags for 2026. |
| pages/schedule/index.js | Updates schedule meta title and adds build-time ICS generation. |
| pages/schedule/[slug].js | Simplifies event detail <title> construction. |
| pages/partner-pack.js | Updates partner-pack messaging for 2026 partner outreach. |
| pages/news.js | Adds a “previous years” notice above existing news list. |
| pages/_app.js | Removes smoothscroll-polyfill usage. |
| pages/2025/schedule/index.js | Adds archived 2025 schedule index route. |
| pages/2025/schedule/[slug].js | Adds archived 2025 event detail routes. |
| pages/2024/schedule/index.js | Fixes 2024 schedule to load 2024 events. |
| pages/2024/schedule/[slug].js | Fixes 2024 schedule paths and slug parsing to use 2024 events. |
| pages/2024/index.js | Fixes 2024 home schedule link and data sources. |
| pages/2023/schedule/index.js | Fixes 2023 schedule to load 2023 events. |
| pages/2023/schedule/[slug].js | Fixes 2023 schedule paths and slug parsing to use 2023 events. |
| pages/2023/index.js | Fixes 2023 home schedule link and data sources. |
| pages/2022/schedule/index.js | Simplifies 2022 schedule <title> construction. |
| pages/2022/schedule/[slug].js | Simplifies 2022 event detail <title> construction. |
| package.json | Adds ics + cross-env, updates start for static output. |
| package-lock.json | Locks new dependencies for ICS/build script changes. |
| next.config.js | Sets outputFileTracingRoot for workspace/root warnings. |
| content/ships/ships.json | Adds curated “Ships” data entries. |
| content/partner-pack/offers/jsconf.md | Updates partner offer headline year. |
| content/partner-pack/offers/bootdev.md | Updates partner offer link year. |
| content/partner-pack/index.md | Updates partner pack title/meta for 2026. |
| content/home/5-events.md | Updates “Upcoming events” header year. |
| content/home/2-about.md | Updates theme placeholder copy for 2026. |
| content/home/1-hero.md | Updates hero date to May 2026. |
| content/events/2025-05-30-Effection.md | Removes old event file from prior location (archival move). |
| content/commons.json | Updates global literals (2026 copy, new nav label, ICS strings, all-day/TBD strings). |
| content/2025/events/pycon-us-2025.md | Adds archived 2025 event markdown. |
| content/2025/events/2025-05-30-effection.md | Adds archived 2025 event markdown. |
| content/2025/events/2025-05-30-Libre-Sign.md | Adds archived 2025 event markdown. |
| content/2025/events/2025-05-28-Deskree.md | Adds archived 2025 event markdown. |
| content/2025/events/2025-05-27-CRA.md | Adds archived 2025 event markdown. |
| content/2025/events/2025-05-26-Cultivating-Design.md | Adds archived 2025 event markdown. |
| content/2025/events/2025-05-24-FSF-40-Chennai.md | Adds archived 2025 event markdown. |
| content/2025/events/2025-05-24-FOSS-Meetup-Lucknow.md | Adds archived 2025 event markdown. |
| content/2025/events/2025-05-24-FOSS-Meetup-Bengaluru.md | Adds archived 2025 event markdown. |
| content/2025/events/2025-05-23-nuxt-ai.md | Adds archived 2025 event markdown. |
| content/2025/events/2025-05-23-Build-CLI.md | Adds archived 2025 event markdown. |
| content/2025/events/2025-05-21-kotlinconf.md | Adds archived 2025 event markdown. |
| content/2025/events/2025-05-21-OSI.md | Adds archived 2025 event markdown. |
| content/2025/events/2025-05-21-NGINX.md | Adds archived 2025 event markdown. |
| content/2025/events/2025-05-19-Swift-Craft.md | Adds archived 2025 event markdown. |
| content/2025/events/2025-05-19-05F5.md | Adds archived 2025 event markdown. |
| content/2025/events/2025-05-17-FOSS-City-Meetup-Kanpur.md | Adds archived 2025 event markdown. |
| content/2025/events/2025-05-16-supermemoryai.md | Adds archived 2025 event markdown. |
| content/2025/events/2025-05-16-Querido-Diario.md | Adds archived 2025 event markdown. |
| content/2025/events/2025-05-16-Open-Source-European-Commission.md | Adds archived 2025 event markdown. |
| content/2025/events/2025-05-16-Cyber-Security.md | Adds archived 2025 event markdown. |
| content/2025/events/2025-05-14-CloudFoundry.md | Adds archived 2025 event markdown. |
| content/2025/events/2025-05-13-RustWeek.md | Adds archived 2025 event markdown. |
| content/2025/events/2025-05-10-FOSS-United-Hyderabad.md | Adds archived 2025 event markdown. |
| content/2025/events/2025-05-09-whopays.md | Adds archived 2025 event markdown. |
| content/2025/events/2025-05-09-convex.md | Adds archived 2025 event markdown. |
| content/2025/events/2025-05-09-Localization.md | Adds archived 2025 event markdown. |
| content/2025/events/2025-05-09-Diciotech.md | Adds archived 2025 event markdown. |
| content/2025/events/2025-05-07-PyTorch.md | Adds archived 2025 event markdown. |
| content/2025/events/2025-05-06-OS-Pledge.md | Adds archived 2025 event markdown. |
| content/2025/events/2025-05-06-Licensing-SBOMs.md | Adds archived 2025 event markdown. |
| content/2025/events/2025-05-06-Innersource-China.md | Adds archived 2025 event markdown. |
| content/2025/events/2025-05-06-GOSIM-AI.md | Adds archived 2025 event markdown. |
| content/2025/events/2025-05-02-typewind.md | Adds archived 2025 event markdown. |
| content/2025/events/2025-05-02-NPCI.md | Adds archived 2025 event markdown. |
| content/2025/events/2025-05-02-Cookie-Cutter.md | Adds archived 2025 event markdown. |
| content/2025/events/2025-05-01-OpenSearch.md | Adds archived 2025 event markdown. |
| content/2025/events/2025-05-01-OpenPath.md | Adds archived 2025 event markdown. |
| components/ships/ships.scss | Adds Ships page styling. |
| components/ships/Ships.jsx | Adds Ships list UI. |
| components/partner-pack/offers/Offers.jsx | Adds lint suppressions for <img> usage. |
| components/library-links/LibraryLinks.jsx | Adds empty-state rendering for library links. |
| components/layout/layout.scss | Prevents horizontal overflow and adjusts main focus styling. |
| components/layout/Layout.jsx | Adds skip-to-content link and ARIA landmark attributes. |
| components/home/hero/hero.scss | Fixes hero overflow/spacing for responsive layouts. |
| components/home/get-involved/ExampleCard.jsx | Fixes heading hierarchy (h2 -> h3). |
| components/home/events/useIncomingEvents.js | Keeps multi-day events “upcoming” until endDate passes. |
| components/home/events/Events.jsx | Removes unused Council import and commented render. |
| components/home/council/Council.jsx | Updates advisory council title year. |
| components/home/about/About.jsx | Updates theme heading/copy for 2026. |
| components/header/Header.jsx | Adds Ships nav item and improves nav accessibility labeling. |
| components/footer/footer.scss | Enables wrapping/centering for social icons row. |
| components/footer/Footer.jsx | Adds Twitch/Bluesky footer links and contentinfo landmark. |
| components/events-list/events-list.scss | Adds sticky filters, empty states, and grid/layout fixes. |
| components/events-list/EventsList.jsx | Implements filtering + date grouping + ICS download CTA. |
| components/event-detail/event-detail.scss | Adds wrapper styling for linked titles. |
| components/event-detail/EventDetail.jsx | Adds multi-day date chip + timeDisplay support + heading wrapper. |
| components/date-time-chip/DateTimeChip.jsx | Adds TBD/all-day rendering and uses timeDisplay. |
| components/chip/chip.scss | Prevents chip overflow with ellipsis. |
| common/routes.js | Adds /ships route constant. |
| api/events.js | Adds all-day/TBD parsing + timeDisplay; supports endDate. |
| api/calendar.js | Adds ICS generation utility. |
| README.md | Updates year + improves local dev/build instructions. |
| Participation.md | Updates year/theme section headings. |
| CONTRIBUTING.md | Updates examples and documents optional times + endDate behavior. |
| .github/ISSUE_TEMPLATE/add-to-calendar.yml | Makes times optional and adds workshop event type. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
haven't taken a deep look yet, but I think some of the issues are currently being addressed by contributors in other PRs with @AndreaGriffiths11 helping them. Can we make sure we don't duplicate work there? Would love to merge in external contributions |
- Roll over all 2025 references to 2026 (theme TBD) - Fix hero section text/button overlap on mobile (github#259) - Fix horizontal scroll on medium screens (github#250) - Add responsive breakpoints for schedule page - Clarify README: use npm run dev, add Node version requirement (github#272, github#297) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Change overflow-x: hidden to overflow-x: clip on layout__content so position: sticky on the header works correctly (hidden creates an implicit scroll container that breaks sticky positioning) - Add box-sizing: border-box to event cards for consistent sizing - Make markdown-rendered <p> tags inline inside line-clamped text so -webkit-line-clamp works correctly with rendered descriptions Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- api/events.js: Add explicit handling for 'TBD' and 'all-day' time
values in frontmatter. Add timeDisplay field ('specific', 'tbd',
'all-day') to formatEventDateTime output.
- DateTimeChip: Show clean 'TBD' or 'All Day' label without PT
conversion row when times aren't specific.
- EventDetail: Show date range chip for multi-day events.
- EventsList: Pass timeDisplay prop; use dash separator in date range.
- useIncomingEvents: Multi-day events remain 'upcoming' until endDate
passes.
- CONTRIBUTING.md: Document optional UTCStartTime/UTCEndTime and
endDate fields.
- commons.json: Add 'message:all-day' i18n literal.
Fixes github#245, fixes github#242
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…ue template - Move 38 event files from content/events/ to content/2025/events/ - Create pages/2025/schedule/ routing for archived 2025 events - Fix bug: pages/2023/ and pages/2024/ incorrectly referenced 2022 events - Add iCalendar/ICS feed generation at build time (github#88) - Add skip-to-content link, ARIA landmarks, heading hierarchy, focus styles (github#64) - Update issue template: times optional for TBD/all-day, add workshop type - Empty content/events/ ready for 2026 submissions Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Add cross-env for Windows-compatible NODE_ENV in build script (github#272) - Footer social icons now wrap on narrow screens instead of overflowing Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This reverts commit f672c98.
- Schedule page shows 'coming soon' message when no events exist - Library page shows empty state message when no resources - Theme changed to 'Coming Soon' placeholder until 2026 theme is decided - Removed Council import from homepage (no council for 2026) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
New /ships page showing curated GitHub changelog entries relevant to maintainers. Data is managed via content/ships/ships.json. Includes 9 initial ships (Issues, Pull Requests, Copilot, Repository Management). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Ships tests: validate required fields, date format, URL format, description length - Event parsing tests: TBD defaults, all-day handling, multi-day endDate, validation errors Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Add box-sizing, overflow-wrap, word-break for long titles - Add min-width: 0 on cards to prevent grid blowout Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Remove yarn.lock (project uses npm) - Remove smoothscroll-polyfill (unnecessary in modern browsers) - Fix next.config.js: add outputFileTracingRoot - Fix package.json: start script uses serve for static export - Fix all title tag warnings across 11 pages (template literals) - Fix img lint warnings in Offers.jsx - Fix archived year pages (2023/2024) to reference correct content - Update CONTRIBUTING.md example to 2026 - Add previous-years note to news page Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Fix calendar API timezone handling - Fix events API error handling - Fix EventsList rendering edge case - Update Ships component layout - Update commons.json and partner-pack content - Add test coverage for event edge cases - Update dependencies Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
a9bafe7 to
4ca641a
Compare
- Use getEvents() in schedule/[slug].js instead of raw fs.readdirSync (getEvents already handles missing directories gracefully) - Add serve as pinned devDependency instead of npx Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Update meta:title and page:date from 2025 to 2026. These were missed in the initial year rollover and caused the page header and meta tags to still display 2025. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
abbycabs
left a comment
There was a problem hiding this comment.
A few things were agressively updated to 2026 that probably shouldn't be!
Co-authored-by: Abby Cabunoc Mayes <abbycabs@github.com>
- Revert jsconf offer headline and promo code to 2025 (past offers) - Revert security-challenge.js to 2025 (page removed from nav) - Add comment on 2024/index.js explaining 2023 home content fallback Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Adds file-type >=21.3.1 to overrides to fix the transitive dependency vulnerability through jimp. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
file-type >=21.3.1 changed its exports structure, breaking @jimp/core's import of file-type/core.js. The Dependabot alert for file-type needs to be resolved by upgrading jimp instead. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Maintainer Month 2026 Site Update
Comprehensive refresh of the Maintainer Month site for 2026. Addresses 9 of 12 open issues, adds new features, and cleans up the codebase.
Year rollover
content/2025/events/pages/2025/schedule/routing for archived eventsIssues addressed
yarnon Windows 11 #272 / Improvements to README #297 — Improved README (npm run dev, Node version, Windows cross-env fix)Deferred to community PRs
New features
/ships) — Curated GitHub changelog entries relevant to maintainers, managed viacontent/ships/ships.jsonSite cleanup
yarn.lock(project uses npm)smoothscroll-polyfill(unnecessary in modern browsers)next.config.jsworkspace root warningnpm startto work with static exportNot addressed
Testing
Closes #259, closes #250, closes #272, closes #297, closes #245, closes #242, closes #87, closes #88, closes #64