sad twentytwentyfive
Twenty Twenty-Five is built as a block theme. The theme aims to ship with as little CSS as possible: our goal is for all theme styles to be configured through
theme.json
and editable through Global Styles.
This makes me sad.
In a different system, a configuration file like theme.json
would be considered a design token where a design system will automatically generate a JSON file full of tokens to be used in a component library or website. The potential for design tokens are quite high, but sadly they’re less practical without tools that are configured to both generate the design token file or system and give easy access for developers to use them. Right now, it’s still piecemeal and there’s not a great workflow in many systems.
Modern WordPress development is abstracting a subset of CSS to a JSON file, for the ease of builders and publishers. The developers who build Block Themes are kind of being forced against the grain of the web in the development phase. Developers consumed by a Javascript-centric system, this might make a lot more sense. But, for those of us who want to build using the technology that browsers provide, this is very unappealing and backwards.
This is just another reason I can’t see how much longer WordPress will be serious going forward. Maybe the update to React 19 in Gutenberg will change things, considering that it makes Web Components a first class integration, also considering the possibility of using React Server Components. But, I haven’t seen anything that gives me an indication either of these are being really thought out.
This quote was from the TwentyTwentyFive Github Repo.
@asuh I wouldn’t read into it too much. The goal of the official themes is to show what’s possible. WordPress isn’t going to stop supporting CSS any time soon.
@joshbetz My main contention isn’t about CSS support, it’s the fact that CSS is a second class citizen inside of a JSON file. Maybe there needs to be some documentation that explains how a theme.json file is compiled from CSS? It’s not clear how easy it will be to take a static design using HTML, CSS, and JS and make it work for block themes.
@asuh I could be wrong but I don’t think the goal is for all themes to define CSS in theme.json
@joshbetz That could be, but if TwentyTwentyFour gives us any hints, it’s that block themes prefer everything being in Javascript. There’s practically no CSS in the theme, which was baffling to me at first glance last year.
https://github.com/WordPress/twentytwentyfour
GitHub – WordPress/twentytwentyfour