Project summary
This is the third iteration of the technology spike exploring how to replace the WordPress-hosted Health Data Connect listing with a statically generated site — see SPECIFICATION.md at the repo root for the full brief, and spikes/astro/ and spikes/nextjs/ for the first two iterations.
What this iteration (Eleventy) covers
- Data model — the same shared JSON Schema (
/schema/hdc-entry.schema.json) and/data/entries/*.yaml, read directly (no copy), same as both prior spikes. - Static site generator — Eleventy (v3), using Nunjucks templates and its native global data files + pagination for one page per entry, and its built-in markdown pipeline for content pages — no extra markdown library needed, unlike the Next.js spike.
- Search — Pagefind, the same engine chosen in the Astro spike (see
spikes/astro/content-pages/search-engines.md). - Filters — the same 8 facets as both prior spikes: category, readiness tier, license, intended users, primary purpose, cost model, support level, and a number-adopting range, with Go/Reset.
- CMS — Decap CMS, wired to the same
/data/entriesfolder, a genericcontent-pages/folder for markdown pages, and the shared/data/site-settings.yamlbanner singleton. - Styling — the same design tokens and logo already extracted from the live site in the Astro spike, reused rather than re-scraped.
See EVALUATION.md for what was actually tried, what differed from the other two spikes, and how it was fixed.