You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 1b852b7
Browse filesBrowse the repository at this point in the historyBrowse files
site: prerender the catalog and fix the deprecated filter (batch D)
Prerender. build.mjs now writes the catalog rows, starter table, guides,
head metadata and a build stamp into index.html. The served page contained
zero entry names before this, so a catalog whose entire value is
discoverability was invisible to search engines and empty without
JavaScript. 292 rows are now in the HTML; app.js hydrates over them for
search, filters and sort. Also generates sitemap.xml, robots.txt and a
404 page.
Two defects found by reading app.js rather than by checklist:
Deprecated entries rendered under the "Active" checkbox. matches() gated
status "deprecated" on state.active, so purple-planet and freepd, whose
own bodies say the sites are dead, sat in the default view beside live
sources. Deprecated now has its own toggle, off by default.
Every entry title was an <h3> inside a <button>, which is invalid: button
takes phrasing content. Heading navigation over 294 entries was
unreliable. The card is an <article> with a heading link, which also
gives each entry a permalink.
Also in this batch:
verified age on every row with a colour cue at 180 and 365 days. This is
the repo's main credibility signal and it was buried in a modal.
Filter, search and sort state in the query string, restored on load, so
a filtered view is shareable. #entry-<id> opens that entry.
Active filter chips with individual removal and clear-all; empty state
that offers the reset.
Sort by name, license permissiveness (from the vocabulary's attribution
class) or verified date.
Copy button for attribution_string, with a select-the-text fallback when
the clipboard is refused.
Label legend in the catalog view instead of only in catalog/README.md.
aria-pressed on category chips, a skip link, and one focus-visible
treatment for every focusable control.
Dark scheme via prefers-color-scheme.
Measured in a browser at 1200px and 375px, both schemes: no console errors,
all 16 sampled text styles pass WCAG AA in light (worst 5.29) and dark
(worst 6.93), tap targets 44px on mobile, focus returns to the trigger when
the dialog closes, and the starter table's nowrap license column no longer
forces horizontal page scroll at 375px.
Not done, deliberately: virtualization, pagination and search debounce.
Measured at 294 entries and below the threshold where they pay for
themselves. og:image is omitted rather than faked; it needs a real image
file, and the binary-asset rule keeps one out of the repo for now.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Wc67NX9MM964uaVGn4bpZJ
0 commit comments