Skip to content

feat: add generated birthday calendar feed - #10

Merged
Yuna-Celisse merged 1 commit into
mainfrom
feat/birthday-calendar-feed
Oct 19, 2026
Merged

Yuna-Celisse merged 1 commit into
mainfrom
feat/birthday-calendar-feed

Conversation

@Yuna-Celisse

Copy link
Copy Markdown
Member

Resolves #1

Summary

Separates member birthdays from the shared events calendar into a dedicated birthday calendar feed:

  • Adds \data/birthday/members.yaml\ containing the 13 member birthdays imported from the calendar with annual recurrence (\RRULE:FREQ=YEARLY).
  • Adds \scripts/import-birthdays.mjs\ and \pnpm import:birthday\ command for future member additions.
  • Updates \scripts/lib/ics.mjs\ to support recurrence rules (\RRULE) and custom calendar metadata (\X-WR-CALNAME: NBTCA 会员生日, \CATEGORIES: BIRTHDAY).
  • Updates \scripts/generate.mjs\ to build \dist/birthday.ics\ (and alias \dist/birthdays.ics) alongside \dist/school.ics.
  • Updates \src/index.js\ and \wrangler.jsonc\ to serve /birthday.ics\ (and /birthdays.ics) via the Cloudflare Worker static assets binding with proper caching, conditional headers (304), and CORS.
  • Updates \README.md\ and adds \data/birthday/README.md.
  • Adds test coverage for the birthday feed generation, recurring rules, and Worker routing.

@cloudflare-workers-and-pages

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Preview URL Updated (UTC)
✅ Deployment successful!
View logs
ical 743b798 Commit Preview URL

Branch Preview URL
Oct 19 2026, 01:26 AM

@Yuna-Celisse
Yuna-Celisse merged commit f881938 into main Oct 19, 2026
2 checks passed
@Yuna-Celisse
Yuna-Celisse deleted the feat/birthday-calendar-feed branch October 19, 2026 01:31
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.

Separating event, school calendar, birthday to different calendar

1 participant