Skip to content

Add per-section RSS feeds for the events section#19574

Draft
CamSoper wants to merge 2 commits into
masterfrom
claude/exciting-davinci-xmul2t
Draft

Add per-section RSS feeds for the events section#19574
CamSoper wants to merge 2 commits into
masterfrom
claude/exciting-davinci-xmul2t

Conversation

@CamSoper

@CamSoper CamSoper commented Jun 8, 2026

Copy link
Copy Markdown
Contributor

Resolves #11686.

Background

The issue asked for RSS feeds for the Resources section so feed-reader users (e.g. Feedly) could follow new content. Since then, "Resources" was renamed to Events (/events/), and the old sub-sections it named (Videos, Pulumi TV, Whitepapers) no longer exist. The section is now organized into two groupings — Upcoming and On-demand — rendered by layouts/partials/events/list-section.html.

A combined feed already existed at /events/rss.xml, but it included unlisted events and already-passed events with no recording (neither of which appear on the page), sorted oldest-first, and emitted raw ISO pubDates.

Changes

Two new per-section feeds, plus a fix to the combined feed so all three match exactly what the events page lists:

URL Contents Sort
/events/rss.xml all listed events newest first
/events/rss-upcoming.xml upcoming only soonest first
/events/rss-ondemand.xml on-demand recordings only newest first
  • The upcoming/on-demand split mirrors list-section.html: unlisted events are excluded; an event is upcoming while sortable_date + 24h is in the future, otherwise on-demand when it has a youtube_url recording.
  • Shared filtering (layouts/partials/events/feed-events.html) and channel rendering (layouts/partials/events/rss-channel.html) live in two new partials, so the three feed templates stay thin.
  • pubDates are now emitted as RFC-822.
  • External events keep using their url_slug as the item <link>/<guid>.
  • The events pages advertise the feeds via <link rel="alternate" type="application/rss+xml"> auto-discovery tags in head.html (matching the blog's existing pattern).

The two per-section feeds are wired up via custom outputFormats (rssupcoming, rssondemand) in config/_default/config.yml, opted in through the outputs front matter of content/events/_index.md.

Verification

Built with Hugo 0.157.0 (extended) against a fixture set of events (future, past-with-recording, past-no-recording, unlisted, external):

  • rss-upcoming.xml contained only future-dated listed events; rss-ondemand.xml only past events with a recording; rss.xml the union.
  • unlisted and past-no-recording events were absent from all three feeds.
  • External events used their url_slug as the link/guid.
  • pubDates rendered as RFC-822; the <?xml ?> declaration is the first line; all three feeds pass xmllint --noout.

https://claude.ai/code/session_01LTfBTXSzrfSVyjnRNL9g2k


Generated by Claude Code

Resolves #11686. The events section (formerly "Resources") only had a
single combined feed at /events/rss.xml that included unlisted and
already-passed events, sorted oldest-first, with raw ISO pubDates.

This adds two per-section feeds and fixes the combined one so all three
match exactly what the events page lists:

- /events/rss.xml           all listed events, newest first
- /events/rss-upcoming.xml  upcoming events, soonest first
- /events/rss-ondemand.xml  on-demand recordings, newest first

The upcoming/on-demand split mirrors the logic in
partials/events/list-section.html (unlisted events excluded; upcoming
while sortable_date + 24h is in the future, otherwise on-demand when a
youtube_url recording exists). Shared filtering and channel rendering
live in two new partials so the three feed templates stay thin.

pubDates are now emitted as RFC-822, and the events pages advertise the
feeds via <link rel="alternate"> auto-discovery tags in the head.

Co-Authored-By: Claude <noreply@anthropic.com>
@pulumi-bot

pulumi-bot commented Jun 8, 2026

Copy link
Copy Markdown
Collaborator

The preview build showed /events/rss.xml rendering identical content to
/events/rss-ondemand.xml (channel title "On-demand"). With three output
formats sharing the application/rss+xml media type and the xml suffix,
the bare events/rss.xml template name is ambiguous and Hugo resolved the
rss format to the wrong template.

Rename it to events/list.rss.xml so all three feed templates use the
explicit list.<outputformat>.xml convention, which is Hugo's documented
disambiguation for output formats that share a media type.

Co-Authored-By: Claude <noreply@anthropic.com>
@pulumi-bot

pulumi-bot commented Jun 8, 2026

Copy link
Copy Markdown
Collaborator

Lighthouse Performance Report

Commit: ce3df8a | Metric definitions

Page Device Score FCP LCP TBT CLS SI
Homepage Mobile 🔴 30 5.6s 12.1s 1942ms 0.001 8.3s
Homepage Desktop 🟡 78 0.7s 2.5s 225ms 0.016 1.1s
Install Pulumi Mobile 🟡 56 5.2s 8.4s 198ms 0.029 7.5s
Install Pulumi Desktop 🟡 79 1.1s 1.7s 20ms 0.148 2.7s
AWS Get Started Mobile 🟡 53 5.0s 8.4s 269ms 0.066 7.2s
AWS Get Started Desktop 🟡 85 1.1s 1.7s 18ms 0.023 2.6s

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

RSS feed for events

3 participants