I've been working on a new approach to writing and maintaining large #CSS codebases.
We're calling it #CardStock.
One of the key fundamentals is that all HTML, all related CSS are structured as reusable components, defined by schemas.
These provide a separation of structure and style for CSS, letting us do some neat things, including:
* Being able to define a schema, create CSS based on that schema in different independent projects with their own look, but still have JavaScript (in any framework) interface cleanly with those components in either project.
* Be able to override styles in a very clean way without being affected by structural changes.
* Be able to specialize components (e.g., using styling rules for a button as part of a menu button) through a formal API, rather than copying/pasting/maintaining rules.
I'm writing up a document on the plans for #CardStock, and I have some basic tooling going.
Based on my experiments, it's very promising, and I think this is going to be the path forward for all of our products and sites.
I'll share that document once it's ready. I'm also considering livestreaming some of the development, if there's interest.