Skip to content

Events calendar page#477

Merged
stockholmux merged 7 commits intovalkey-io:mainfrom
madolson:events-calendar-page
Mar 27, 2026
Merged

Events calendar page#477
stockholmux merged 7 commits intovalkey-io:mainfrom
madolson:events-calendar-page

Conversation

@madolson
Copy link
Copy Markdown
Member

@madolson madolson commented Mar 13, 2026

Description

Created a very simple JS driven calendar for the event page and make the events more YAML driven. There are two types of events: Valkey first party (hosted by LF) and Third Party events. Still missing all of the "Valkey was here" events, easy to add as a followup, but wanted to get alignment here first.

I'm not sold on the data layout, maybe there is a better strategy, but just started with this.

AI notice: Most of the CSS and Javascript was AI generated by Claude but I looked over and fixed the stuff I understood.

** New image**

image

Check List

  • Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the BSD-3-Clause License.

@madolson madolson requested a review from rlunar March 13, 2026 20:26
@madolson madolson requested a review from stockholmux as a code owner March 13, 2026 20:26
- Add _data/events.yml with seed data (3 LF events + 2 third-party)
- Replace events listing template with month-by-month calendar grid
- Vanilla JS for month navigation with current month auto-select
- Color-coded badges: blue (Linux Foundation), green (Third Party)
- Scrollable chronological event list with past events greyed out
- Calendar shows event names on day cells
- Responsive SCSS styles consistent with site design

Signed-off-by: Madelyn Olson <madelyneolson@gmail.com>
Signed-off-by: Madelyn Olson <madelyneolson@gmail.com>

Remove extra file

Signed-off-by: Madelyn Olson <madelyneolson@gmail.com>
@madolson madolson force-pushed the events-calendar-page branch from 2fbde8f to 9afd399 Compare March 13, 2026 20:27
@jaduffy
Copy link
Copy Markdown

jaduffy commented Mar 13, 2026

Can we at a minimum link to this event calendar from the front page so it’s discoverable?

Copy link
Copy Markdown
Member

@stockholmux stockholmux left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I could pick apart this Javascript all day long but I will refrain: there are a ton of little non-ideal bits and gotchas but there is lots of worse JS in the wild (and this isn't, like, a critical thing). The parseInt w/o radix is a real bug though, you should use Number instead.

My main issue here is that you're creating two different sources for the events (and maintaining long YAML in git is annoying with merge conflicts, IMHO).

Instead of a YAML file, we could have each event as a .md file in /content/events with all the metadata in the front matter (which can either be TOML or YAML or JSON, Zola doesn't care). For third party events., render is just set to false so it won't create a page.

Then, you just loop over section.pages as in the current version to create your events collection.

One other note: creating the calendar via JS is a little suboptimal. The SEO value is definitely reduced (although this isn't as deadly as it was a few years back).

Comment thread templates/events.html Outdated
Comment thread sass/_valkey.scss Outdated
Comment thread sass/_valkey.scss
Comment thread _data/events.yml Outdated
Comment thread templates/events.html Outdated
@madolson
Copy link
Copy Markdown
Member Author

Instead of a YAML file, we could have each event as a .md file in /content/events with all the metadata in the front matter (which can either be TOML or YAML or JSON, Zola doesn't care). For third party events., render is just set to false so it won't create a page.

This was intentional, because some events don't really deserve a md file. It seems dumb to make a dummy page for sake of making a dummy page. I'd rather invert it and have the yaml build out the events markdown if we think it's so important to not duplicate.

@stockholmux
Copy link
Copy Markdown
Member

This was intentional, because some events don't really deserve a md file. It seems dumb to make a dummy page for sake of making a dummy page.

I think you misunderstand, setting render to false won't create a page, just an entry in Zola index that we can run through a section loop. There is very little difference, IMHO, in having one big yaml file vs a bunch of individual ones except it becomes easier to manage and there is a single instruction for people. 1 markdown file per event.

@madolson
Copy link
Copy Markdown
Member Author

madolson commented Mar 16, 2026

I think you misunderstand, setting render to false won't create a page, just an entry in Zola index that we can run through a section loop. There is very little difference, IMHO, in having one big yaml file vs a bunch of individual ones except it becomes easier to manage and there is a single instruction for people. 1 markdown file per event.

This doesn't work exactly the way you think it does, but I'll see what I can do.

- Replace parseInt() with Number() to avoid radix bug
- Remove IIFE, use DOMContentLoaded for DOM safety
- Update event colors from old template colors to site theme
- Fix calendar centering with symmetric padding
- Add comment to events.yml about dual data source

Signed-off-by: Madelyn Olson <madelyneolson@gmail.com>
Remove _data/events.yml and source all event data from markdown
frontmatter in content/events/. Each event page now has event_type,
location, and location_url in its [extra] section. Third-party events
use extra.external_url to link externally instead of to a local page.

This eliminates the need to maintain event data in two places.

Signed-off-by: Madelyn Olson <madelyneolson@gmail.com>
Signed-off-by: Madelyn Olson <madelyneolson@gmail.com>
Signed-off-by: Madelyn Olson <madelyneolson@gmail.com>
@madolson madolson force-pushed the events-calendar-page branch from e8ccf11 to d35da17 Compare March 16, 2026 21:30
@madolson
Copy link
Copy Markdown
Member Author

madolson commented Mar 16, 2026

I think you misunderstand, setting render to false won't create a page, just an entry in Zola index that we can run through a section loop. There is very little difference, IMHO, in having one big yaml file vs a bunch of individual ones except it becomes easier to manage and there is a single instruction for people. 1 markdown file per event.

So Render = false does not let them show up in section pages. The simple solution was just to redirect it to the remote URL, which we have. Maybe still useful if we want to track the line with google analytics?

@madolson madolson requested a review from stockholmux March 16, 2026 21:31
@rlunar rlunar self-assigned this Mar 16, 2026
@rlunar
Copy link
Copy Markdown
Member

rlunar commented Mar 17, 2026

I'm OK with the current version as it is; we still need to figure out the following items in the next iteration:

  • Multi-day events: KubeCon, Open Source Summit, re:Invent!
  • Landing page for days that have multiple events
  • Naming conventions

@madolson
Copy link
Copy Markdown
Member Author

@stockholmux ping

Copy link
Copy Markdown
Member

@stockholmux stockholmux left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall this is fine. If you're going to do a meta refresh, might as well not render the entire page.

I toyed around with the render= false bit and indeed, it didn't act as I thought it would. Most other SSG (Hugo, Jekyll) have a way to let a page exist in the parent loops but not render HTML. Weird.

I suspect that there is a way to do it but we're just missing it. Nonetheless, the way it is done right now won't do heinous harm, just maybe a little inefficient.

Comment thread templates/event-page.html
Signed-off-by: Madelyn Olson <madelyneolson@gmail.com>
@madolson madolson requested a review from stockholmux March 27, 2026 18:39
@madolson
Copy link
Copy Markdown
Member Author

@stockholmux Done, gtg?

Copy link
Copy Markdown
Member

@stockholmux stockholmux left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:shipit:

@stockholmux stockholmux merged commit bbe7a24 into valkey-io:main Mar 27, 2026
3 checks passed
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.

4 participants