Skip to content

Stage 2: data-driven homepage (papers + highlights from _data)#27

Open
eah13 wants to merge 9 commits into
masterfrom
data-driven-homepage
Open

Stage 2: data-driven homepage (papers + highlights from _data)#27
eah13 wants to merge 9 commits into
masterfrom
data-driven-homepage

Conversation

@eah13

@eah13 eah13 commented Jun 15, 2026

Copy link
Copy Markdown
Owner

Summary

Stage 2 of the site modernization: move recent activity out of individual _posts/ files into structured YAML data files, rendered through the existing homepage accordion with no visible change to the site.

  • _data/papers.yml — comprehensive publications list (10 entries). No type (implicitly paper). An entry appears on the homepage only if it has a blurb, so the file can grow into a complete list while only highlighted papers show.
  • _data/highlights.yml — curated non-paper items (7 entries): 2 talks (type: video), 5 news items (no type, default "Read more on …" label).
  • _includes/feed-entry.html — one shared accordion-entry partial, used by both the data block and the essay block (removes prior duplication).
  • index.html — renders a date-sorted data block (papers-with-blurb + highlights) above the remaining essay posts. A cross-type merge sort is intentionally avoided (Liquid can't compare a post Time to a YAML Date); the two blocks rely on the documented invariant that all data items are 2020+ and all essays are ≤2019.
  • Deleted the 17 migrated _posts/*.md. Essays (≤2019) and _posts/tools/ are untouched.
  • Updated CLAUDE.md architecture notes.

This sets up the data shape that Stage 3 (BibTeX-fed publications) will populate. Design + plan are committed under docs/superpowers/.

Test Plan

  • Golden-output diff of rendered _site/index.html before vs after (normalizing only the panel-id scheme) is IDENTICAL — same titles, dates, links, labels, body text, and order.
  • 73 accordion entries before and after.
  • Link labels verified: 10 "Read the paper", 2 "Watch the video", news items fall to "Read more on …".
  • Clean JEKYLL_ENV=production bundle exec jekyll build with no new warnings.
  • Confirm the deployed homepage on GitHub Pages after merge.

🤖 Generated with Claude Code

eah13 and others added 9 commits June 15, 2026 13:49
Move ~17 recent posts into _data/papers.yml + _data/highlights.yml,
rendered through the existing accordion with no visible change.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
News highlights carry no type and fall through to the default
"Read more on domain" label; default-to-paper applies in the
papers loop only.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Unquoted dates parse as Date objects (Jekyll convention, matching post
dates), driving the homepage sort and the published-on line. The earlier
quoted strings were an artifact of a too-strict standalone validation
command, not a Jekyll requirement.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
index.html now renders a data block (papers-with-blurb + highlights,
date-sorted) above the essay posts, both via _includes/feed-entry.html.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Match the source post's title exactly; caught by the homepage golden diff.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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.

1 participant