Add brayer and smopt to the project catalog - #25
Conversation
Both are listed only in the /projects/ catalog: LEAD is untouched, so neither appears in the landing page lead grid or the nav dropdown. smopt gets a Source link only. Its docs and PyPI pages both 404 today, and a card that links to a missing page is worse than one that does not link at all. brayer has both, so it gets all three. Neither has a brand icon yet, so both render the initials placeholder the card component already falls back to. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The icon is smopt's own docs/assets/images/smopt-icon.svg. It matches the convention the other icons already follow -- same viewBox, same 1024 square, same background-rect-plus-glyph structure -- so it needed no conversion. Docs and PyPI both 404 today but are expected shortly, so the links go in now rather than in a second pass. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
Updated:
Both links 404 today and are expected to go live shortly, so they are wired up now rather than in a follow-up. Two notes:
|
Taken from brayer's docs/assets/brayer-icon.svg, which is tracked on that repository's master. Its viewBox is 16x16 on a 1024 square, the same shape pydoe.svg already uses, so it drops in without conversion. Both new cards now carry a real icon rather than the initials placeholder. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
Its All 16 catalog entries now carry a real icon, and every referenced icon file exists on disk. Neither new card falls back to the initials placeholder any more.
|
Summary
Adds two entries to
PROJECTSinsrc/data/site.ts:smopt)Scoped to the projects page
LEADis untouched, soFEATURED(the landing page lead grid) andNAV_MENU(the nav dropdown,FEATURED.slice(0, 4)) are unchanged. Both projects appear only in the/projects/catalog. Verified in the built bundle:LEADstill reads["pydoe","ad","pyswarm","soerp","mcerp","bb"].smopt gets no Docs or PyPI link
Both targets 404 right now:
A card advertising a dead link is worse than one that stays quiet, so
smoptcarries onlygithub. brayer's two both return 200 and are wired up. When smopt publishes, adding the fields is a two-line change.No icons yet
There is no
brayer.svgorsmopt.svginpublic/brand/icons/, so both render the initials placeholder tile thaticonMarkup()already falls back to. No new assets are introduced.One thing to be aware of
The derived counters do move:
syncStats()and the footer compute fromPROJECTS, so "public repositories" goes 14 → 16, "packages on PyPI" 12 → 13, and "docs" 11 → 12. That is by design — the comment onsyncStatssays it reads from the catalog "so the landing-page numbers cannot drift from what is actually listed on the site." Freezing them would mean hard-coding a number that is now wrong. Say so if you would rather they stayed put.Test plan
npx tsc --noEmitpasses.npm run buildsucceeds; 223 modules transformed.src/data/site.tschanges (15 insertions); no build artifacts committed.🤖 Generated with Claude Code