Repository navigation
Modernize backend pipeline, frontend design, features, and content - #6
Merged
Merged
Conversation
Backend / tooling - Add a zero-dependency Node (ESM) build pipeline (scripts/build.mjs): validates every study JSON (required fields, unique slug/id, filename↔slug), regenerates master-list.json enriched with reading time, word/ref counts, and an evidence tier, and generates search-index.json, stats.json, and sitemap.xml. `--check` mode fails CI if data drifts. - Add scripts/serve.mjs dev server and package.json (build/validate/dev). - CI now validates data + artefact sync before the link check. - Document the data model in data/README.md. Frontend modernization - New "v2" design layer: refined tokens and brand gradient, elevated cards with hover lift and topic accent, glassy sticky header, softened chips, polished dark mode, and a gradient reading-progress bar. New features - Insights dashboard (stat tiles + topic/region/decade bar charts; bars filter the library). - Bookmarks / saved reading list with a "Saved" filter (localStorage). - Reading-time estimates and evidence badges on cards and study pages. - Reading progress bar, Share, and Save actions on study pages. - "Surprise me" random study. - New About & Methodology page (about.html) with live stats. - Header/welcome counts are now derived from the data, never hard-coded. Content - Add 4 fully-cited case studies filling the thin Gender & Inclusion and Education topics: Kenya deworming, India SEWA, Morocco Tayssir, and Bangladesh's female secondary stipend (204 studies total). - Rewrite README and update CITATION.cff to reflect the new pipeline, features, and count. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012msh1nNMxadJd417S8FjP2
9 of 14 tasks
Varnasr
added a commit
that referenced
this pull request
Jul 9, 2026
## Description Follow-up bug fix to the modernization in #6. The new data-validation CI job failed on `main` after the merge because the build was not deterministic. ## Type of Change - [x] Bug fix - [ ] New feature - [ ] Content addition or correction - [ ] Documentation update - [ ] Style or layout change - [ ] Refactoring (no functional change) ## Related Issue Closes # ## Changes Made - `scripts/build.mjs` wrote a calendar date (`generatedAt`) into `data/stats.json`. On any day after the file was generated, `npm run validate` (the CI `--check` step) regenerated a different date and reported it as data drift, failing CI. Removed the timestamp so the generated output depends only on the study data. - Dropped the date from the insights-panel note in `js/app.js` that displayed `generatedAt`. - Regenerated `data/stats.json`. ## Testing - [x] Tested locally with a development server - [x] Verified search and filter functionality still works - [x] Checked responsiveness on mobile viewport - [x] All links and citations are valid `npm run validate` now passes independent of the date; the insights dashboard renders with no console errors. ## Checklist - [x] I have read the Contributing Guidelines - [x] My changes follow the project's coding style - [x] I have tested my changes locally - [x] I have added citations/sources for any new content 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_012msh1nNMxadJd417S8FjP2 --- _Generated by [Claude Code](https://claude.ai/code/session_012msh1nNMxadJd417S8FjP2)_ Co-authored-by: Claude <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
A full modernization across four dimensions: a real (zero-dependency) build pipeline for the data, a refreshed frontend design system, several new reader features, and substantially expanded content (204 studies, up from 200).
Type of Change
Related Issue
Closes #
Changes Made
Backend / tooling
scripts/build.mjs): validates every study JSON (required fields, unique slug/id, filename↔slug), regeneratesmaster-list.jsonenriched with reading time, word/reference counts and an evidence tier, and generatessearch-index.json,stats.json, andsitemap.xml. A--checkmode fails CI if the data drifts.scripts/serve.mjsdev server andpackage.json(build/validate/dev).data/README.md.Frontend modernization
New features
about.html).Content
CITATION.cff.Testing
Verified end-to-end with a headless browser (index, study, and About pages in light and dark themes): 204 cards render, insights/bookmarks/saved-filter/random work, study pages show correct evidence tiers, reading time, and literature maps.
npm run validatepasses cleanly.Checklist
🤖 Generated with Claude Code
https://claude.ai/code/session_012msh1nNMxadJd417S8FjP2
Generated by Claude Code