You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit cffbdca
Browse filesBrowse the repository at this point in the historyBrowse files
Link calendar entries back to their user group (#526)
## Summary
```diff
themes/powershell-community/layouts/
├── _default/calendar.html # upcoming card: <a> → <div>, title/arrow become their own links,
│ # badge slotted into the meta row on both upcoming + past cards
└── partials/
+ ├── calendar-matched-user-group.html # match externalUrl's Meetup host → user-group page
+ └── calendar-user-group-badge.html # render logo/icon + name link to /user-groups/<slug>/
content/calendar/ohio-powershell-user-group.md # drop now-redundant hand-written group link
docs/adr/0006-calendar-user-group-linking.md # why: runtime URL match, not a stored field
```
```mermaid
flowchart LR
A[calendar entry<br/>Params.externalUrl] -->|meetup.com host| B[calendar-matched-user-group.html]
B -->|scans| C[/user-groups/*.md<br/>Params.links/]
C -->|slug match| D[matched Page]
D --> E[calendar-user-group-badge.html]
E -->|renders| F[logo/icon + name<br/>→ /user-groups/slug/]
```
Matching happens at render time against the Meetup slug embedded in both
the calendar entry's `externalUrl` and the user group's `links[].url` —
no
new frontmatter field, no resync of existing entries. Rationale and
rejected alternatives (explicit `userGroup` field, hybrid) are in
[ADR 0006](docs/adr/0006-calendar-user-group-linking.md).
## Evidence
- **Before:** calendar cards were visually identical regardless of
source
group; the whole card was one `<a>` to the external event, with no path
back to the group's page (Ohio's one manual entry had a hand-written
prose link as the only exception).
- **After:** built the site with `hugo --gc` and inspected
`public/calendar/index.html`:
- 15/15 Meetup-linked entries (13 synced + 2 hand-authored, including
one
I'd initially miscategorized as a plain conference until its
`externalUrl` turned out to be a Meetup link) render a badge to the
correct `/user-groups/<slug>/` page.
- Groups with a `logo` (Ohio, Swiss, Inn-Salzach) render their image;
groups without one (Hamburg, Research Triangle) fall back to the same
`fa-people-group` icon the user-groups list page already uses.
- Genuine non-group conferences (PSConfEU, Summit, SQL Saturday, Day of
Data) confirmed to render with **no** badge — unchanged.
## Merge Danger
**Door:** Two-way — template/partial change only, trivially revertable.
**Blast Radius:** `/calendar/` page only. Upcoming-event cards change
structure (no longer one whole-card link; title and the arrow icon are
now
separate click targets), which is a layout/interaction change worth a
visual check but not a breaking one — no other templates or content
schemas are touched.
0 commit comments