Skip to content

feat: convert workshops to a Jekyll collection#204

Merged
mmcky merged 4 commits into
mainfrom
fix/197-workshops-collection
Jun 10, 2026
Merged

feat: convert workshops to a Jekyll collection#204
mmcky merged 4 commits into
mainfrom
fix/197-workshops-collection

Conversation

@mmcky

@mmcky mmcky commented May 5, 2026

Copy link
Copy Markdown
Collaborator

Summary

Converts workshops from hardcoded HTML in two separate files into a Jekyll collection, so adding a new workshop requires editing exactly one file.

Problem

Previously, adding a workshop meant updating two places manually:

  1. pages/workshops.md — the full workshops page
  2. _layouts/home.html — the hardcoded "Recent Workshops" list on the homepage

Solution

Introduced a _workshops/ Jekyll collection (similar to _lectures/ and _projects/).

Changes

_config.yml

Added workshops collection with output: false (no individual pages generated).

_workshops/ — 28 new data files

Each workshop is a markdown file named YYYY-MM-DD-slug.md with front matter:

title: "Workshop Title"
location: "Institution Name"
date: "YYYY-MM-DD"
year: YYYY
presenters: "Name, Name"
repo_url: "https://github.com/..."   # optional
description: "..."                    # optional, recent workshops only

pages/workshops.md

Rewritten as a Liquid template:

  • Recent workshops (year >= 2024): sorted newest-first, shown with full details (presenters, link, description)
  • Past workshops (year < 2024): grouped by year in a Bootstrap accordion, sorted newest-first, first year expanded

_layouts/home.html

Hardcoded 5-item list replaced with a Liquid loop:

{% assign recent_workshops = site.workshops | sort: "date" | reverse %}
{% for workshop in recent_workshops limit:5 %}

Verified

  • bundle exec jekyll build passes cleanly
  • Homepage "Recent Workshops" renders the same 5 entries (IUJ Feb 2026, IMF Dec 2025, Portugal Oct 2025, Hitotsubashi Sep 2025, Kyoto Jun 2025)
  • Workshops page renders all recent and past workshops with correct dates and locations

Adding a new workshop (going forward)

Create a single file _workshops/YYYY-MM-DD-slug.md — the homepage and workshops page both update automatically on the next build.

Closes #197

Replaces hardcoded HTML in pages/workshops.md and _layouts/home.html
with a Jekyll collection (_workshops/) so both locations stay in sync
automatically when a new workshop is added.

Changes:
- _config.yml: add 'workshops' collection (output: false)
- _workshops/: 28 workshop data files (YYYY-MM-DD-slug.md) with front
  matter fields: title, location, date, year, presenters, repo_url,
  description (optional)
- pages/workshops.md: rewritten as a Liquid template; recent workshops
  (year >= 2024) shown with full details, past workshops grouped by year
  in Bootstrap accordion sorted descending
- _layouts/home.html: hardcoded 5-item list replaced with Liquid loop
  over site.workshops sorted by date desc, limit 5

Adding a new workshop now requires only a single file in _workshops/.

Closes #197
Copilot AI review requested due to automatic review settings May 5, 2026 03:46
@netlify

netlify Bot commented May 5, 2026

Copy link
Copy Markdown

Deploy Preview for grand-swan-ca5201 ready!

Name Link
🔨 Latest commit 5f91f3e
🔍 Latest deploy log https://app.netlify.com/projects/grand-swan-ca5201/deploys/6a28c3a0e47f0e0008a4b8de
😎 Deploy Preview https://deploy-preview-204--grand-swan-ca5201.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

This PR migrates workshop content from hardcoded HTML into a dedicated Jekyll collection (_workshops/), so the homepage “Recent Workshops” section and the /workshops/ page can both render from a single source of truth.

Changes:

  • Added a workshops collection in _config.yml and introduced _workshops/ Markdown front-matter entries for each workshop.
  • Rewrote pages/workshops.md to render “Recent” vs “Past” workshops via Liquid, including a year-grouped accordion for past workshops.
  • Updated _layouts/home.html to populate the homepage “Recent Workshops” list via a Liquid loop over site.workshops.

Reviewed changes

Copilot reviewed 31 out of 31 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
_config.yml Registers the workshops collection for use in Liquid templates.
_layouts/home.html Replaces hardcoded homepage workshop list with a dynamic Liquid loop.
pages/workshops.md Replaces hardcoded workshops page content with Liquid-driven rendering/grouping.
_workshops/2016-05-01-chicago-federal-reserve.md Adds workshop collection entry (data).
_workshops/2016-06-01-econometric-society.md Adds workshop collection entry (data).
_workshops/2016-10-01-university-of-economics-ho-chi-minh-city.md Adds workshop collection entry (data).
_workshops/2017-03-01-rba-rbnz.md Adds workshop collection entry (data).
_workshops/2017-06-01-university-of-chicago.md Adds workshop collection entry (data).
_workshops/2017-08-01-anu-ams.md Adds workshop collection entry (data).
_workshops/2017-09-01-us-phd-workshops.md Adds workshop collection entry (data).
_workshops/2018-03-01-anu-honours-workshop.md Adds workshop collection entry (data).
_workshops/2018-05-01-university-of-copenhagen.md Adds workshop collection entry (data).
_workshops/2019-04-01-department-of-industry-innovation-and-science.md Adds workshop collection entry (data).
_workshops/2022-07-01-research-school-of-economics-anu.md Adds workshop collection entry (data).
_workshops/2022-09-01-crest-paris.md Adds workshop collection entry (data).
_workshops/2022-09-15-central-bank-of-chile.md Adds workshop collection entry (data).
_workshops/2023-04-01-keio-university.md Adds workshop collection entry (data).
_workshops/2023-04-10-nagoya-university.md Adds workshop collection entry (data).
_workshops/2023-04-15-kobe-university.md Adds workshop collection entry (data).
_workshops/2023-10-01-columbia-university.md Adds workshop collection entry (data).
_workshops/2023-10-15-international-monetary-fund.md Adds workshop collection entry (data).
_workshops/2024-03-01-international-monetary-fund.md Adds workshop collection entry (data).
_workshops/2024-05-01-central-bank-of-chile.md Adds workshop collection entry (data).
_workshops/2024-08-01-university-of-melbourne.md Adds workshop collection entry (data).
_workshops/2024-11-01-reserve-bank-of-australia.md Adds workshop collection entry (data).
_workshops/2025-06-01-international-university-of-japan.md Adds workshop collection entry (data).
_workshops/2025-06-15-kyoto-university.md Adds workshop collection entry (data).
_workshops/2025-09-01-hitotsubashi-university.md Adds workshop collection entry (data).
_workshops/2025-10-01-bank-of-portugal.md Adds workshop collection entry (data).
_workshops/2025-12-01-international-monetary-fund.md Adds workshop collection entry (data).
_workshops/2026-02-01-international-university-of-japan.md Adds workshop collection entry (data).

Comment thread pages/workshops.md
Comment thread pages/workshops.md
Comment thread pages/workshops.md Outdated
Comment thread pages/workshops.md Outdated
Comment thread _workshops/2017-06-01-university-of-chicago.md
mmcky and others added 3 commits June 10, 2026 09:24
- Sort past_years explicitly (uniq | sort | reverse) instead of relying
  on uniq preserving the upstream date ordering
- Add optional date_display front-matter field, preferred over the
  formatted date in both workshop templates, and use it to restore the
  'June - August 2017' date range for the University of Chicago workshop

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@mmcky

mmcky commented Jun 10, 2026

Copy link
Copy Markdown
Collaborator Author

Pre-merge validation summary

Branch was updated with main (clean merge; the only overlapping file, _config.yml, now carries both the url: setting from #199 and the workshops collection). Build CI green on the merge commit (5f91f3e).

Data fidelity — rendered output diffed against the old hardcoded content

Check Result
Workshop headings (date, location) on /workshops/ 28/28 identical, including the restored "June – August 2017, University of Chicago" range via the new date_display field
Presenter lines Identical across all 28 workshops
Workshop repo links Identical (set-diff of all github.com hrefs; only non-workshop chrome links differ)
Homepage "Recent Workshops" list Matches the live site exactly — same 5 workshops, dates, and order
Descriptions 7/7 present; 6 byte-identical, 1 (IMF Dec 2025) has a minor tense copyedit ("will cover… and also investigate" → "covers… and investigates") — content-equivalent
Past-workshops accordion year order 2023 → 2016 descending, first year expanded, verified in built output

Review history

All 5 Copilot review comments addressed: past_years explicit sort and date_display support fixed in 5b273ab; recent/past year-boundary typo fixed in the PR description; the two title-rendering comments pushed back with justification (every workshop's visible heading renders unconditionally from date, location; the title field is only repo-link text, mirroring the old page).

Ready to merge. 🤖 Validated with Claude Code

@mmcky mmcky merged commit deb9649 into main Jun 10, 2026
5 checks passed
@mmcky mmcky deleted the fix/197-workshops-collection branch June 10, 2026 02:08
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.

Convert homepage workshops section to use a Jekyll collection

2 participants