Skip to content

Unify chips into a 3-class system; drop tags from blog rows - #9

Merged
HumbleBee14 merged 1 commit into
mainfrom
feature/chip-system
Jul 13, 2026
Merged

Unify chips into a 3-class system; drop tags from blog rows#9
HumbleBee14 merged 1 commit into
mainfrom
feature/chip-system

Conversation

@HumbleBee14

Copy link
Copy Markdown
Member

Collapses 11 ad-hoc chip/pill/tag treatments into a single primitive so a chip looks and behaves the same everywhere — change it once, it changes site-wide. Build + type-check pass; verified in the browser on home, blog, tags, blog post, search dialog (light + dark), playground grid, and a tool detail page.

The system (3 classes, well under the "max 4")

  • .chip — normal pill (topic tabs, blog filter, tag cloud, search dialog)
  • .chip--sm — thin mono-uppercase pill (topic-on-row, byline, tool tags/status)
  • .hashtag — borderless inline #tag

Modifiers compose onto either shape:

  • .chip--interactive — accent (blue) hover + .is-active accent fill. Configurable: add it only where a chip should react. Unifies the blog filter (was a black fill), topic tabs, tag cloud, and the search dialog into one hover/active behaviour.
  • State colours .chip--live / .chip--beta / .chip--soon
  • .chip__count — the trailing count badge

Product change: tags removed from blog list rows

Blog rows now show only the topic pill. The #tags are gone from the archive/topic/tag list rows — they're a search/discovery mechanism (they power /tags and SEO), not a browsing signal, and standard editorial lists show one category per row. Tags are kept on the article page byline and the /tags index, where they aid navigation rather than clutter scanning.

Cleanup

  • Removed the two colliding .tool-tag definitions (a plain-text one and a pill one shared the same name).
  • Deleted dead per-status rules and the bespoke .tool-card-status / .tag-cloud-item / .blog-row-* / .article-topic CSS.
  • Fixed .search-empty a so it no longer overrides chip colour (chips were rendering accent-by-default in the dialog's empty state).

Intentionally left alone

The calculator segmented controls (.filter-chip) and the Playground showcase status labels (.playground-tool-tag) are tool controls, not content tags, so they stay out of the chip vocabulary.

Best judged on the Cloudflare preview — check the blog archive rows (no more tag pile), the topic tabs, and the search dialog in both themes.

Replace 11 ad-hoc chip/pill/tag treatments with one primitive:
- .chip (normal pill) and .chip--sm (thin mono-uppercase)
- modifiers: .chip--interactive (accent hover + .is-active), state
  colors .chip--live / .chip--beta / .chip--soon, .chip__count badge
- .hashtag for borderless inline #tags

Migrated: homepage recent cards, topic tabs, and tool cards; blog filter;
blog/topic/tag rows; tag cloud; blog byline; playground grid status +
tool detail; search dialog chips. Removed the two colliding .tool-tag
definitions and dead per-status rules. Interactive chips now share one
accent hover/active behaviour everywhere.

Blog list rows show only the topic pill; #tags removed (kept on the
article page and /tags where they aid navigation, not list scanning).
Calculator segmented controls keep .filter-chip (a tool control, not a
content tag) and stay out of the chip vocabulary.
@cloudflare-workers-and-pages

Copy link
Copy Markdown

Deploying mlsystems with  Cloudflare Pages  Cloudflare Pages

Latest commit: d47bb47
Status: ✅  Deploy successful!
Preview URL: https://7acdc418.mlsystems.pages.dev
Branch Preview URL: https://feature-chip-system.mlsystems.pages.dev

View logs

@HumbleBee14
HumbleBee14 merged commit 10a3396 into main Jul 13, 2026
2 checks passed
@HumbleBee14
HumbleBee14 deleted the feature/chip-system branch July 13, 2026 04:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant