Repository navigation
v2.2.0
What's new
Translated JSON-LD structured data
All 90 translated pages now have language-consistent JSON-LD structured data. Previously, translated pages had English-only schemas (WebSite, FAQPage, BreadcrumbList, CollectionPage, Article), creating a semantic mismatch that likely contributed to Google not indexing translated pages. Now each language gets native-language structured data with correct localized URLs.
- 32 new
schema.*translation keys across all 11 language files translate_jsonld()function ingenerate-pages.pyhandles 5 schema types- 548 total translation keys per language (up from ~457)
News coverage feed expansion
- 111 curated articles (up from 18) covering the Portal Bridge cutover
- Pagination with page size controls
- Relevance sorting algorithm
- Mobile-optimized layout improvements
Support buttons
- Multi-option support strip (Venmo, PayPal, GitHub Sponsors) in the footer
- Replaces single sponsor iframe with accessible button design
Accessibility improvements
- Heading hierarchy corrected:
h4→h3in before/after panels, key changes, timeline, transfer headers, and source items - Color contrast improvements: darkened
accent-dark,text-muted, link colors, and Venmo button for WCAG AA compliance - Alert banner text now uses
primary-darkfor better readability - Footer text opacity increased for legibility
Documentation refresh
- README, CLAUDE.md, and AGENTS.md updated with current stats (948+ test checks, 548 keys, 111 articles, updated line counts)
- JSON-LD translation system documented in all project docs
Stats
| Metric | v2.1.2 | v2.2.0 |
|---|---|---|
| Translation keys | ~457 | ~548 |
| Test checks | 698+ | 948+ |
| Coverage articles | 18 | 111 |
| CSS lines | 3,295 | 3,449 |
| Generator lines | 1,556 | 1,788 |
Full changelog: v2.1.2...v2.2.0