garden
open-props
Our great sponsors
garden | open-props | |
---|---|---|
2 | 49 | |
1,329 | 4,402 | |
- | - | |
4.2 | 8.4 | |
3 months ago | 3 days ago | |
Clojure | HTML | |
- | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
garden
-
What working with Tailwind CSS every day for 2 years looks like
Thanks for the vanilla-extract recommendation, I'll be using this!
In my case, tailwind was useful for providing a handy set of vocabularies for simple and common stylings. But once customizations start to pile on, we're back into SCSS. Using 2 systems at once meant additionally gluing them with the postcss toolchain, so effectively we have 3 preprocessors running for every style refresh.
Looking in at TypeScript from the clojurescript ecosystem though, I'm still yet to see an equal to https://github.com/noprompt/garden or https://github.com/Jarzka/stylefy: single language, excellent composability, compile-time anonymous class names, inline styles... almost like they solved CSS (except for typing)
-
Clojure Single Codebase?
I spent some time doing this ~3 years ago, so I don't know about now, but to my knowledge it was the only language where you could really use one language for everything: no HTML (via hiccup), no CSS (via garden), clojure/clojurescript everywhere, and no shell (via babashka).
open-props
-
Learn CSS Layout the Pedantic Way
There's still some boilerplate, but I'm a big fan of Open Props[0] because it takes a hybrid approach. CSS isn't necessarily reinventing the wheel, but allowing for easier / more powerful approaches to difficult layouts or things that would otherwise require JS. Bootstrap is fine but troubleshooting advanced layout issues involves a lot of inspecting elements to see what styles are actually being applied (at least in my experience, YMMV) so I'd personally always bet on CSS.
[0] https://open-props.style/
-
Why Tailwind Isn't for Me
I don't quite get the hate for having CSS in another file. Do you also put all your react stuff in one single file ? That same logic and argument can be applied against all modularization.
And really 20-50 tailwind classes in a single element is VERY hard to read and keep in mind. No - it does not make things clear or understandable. One tends to need to re-read and scan over from the beginning and eyes glaze over. Esp if some elements only vary with a few classes missing. I guess it works for people with very high attention to detail and high amount of working memory. I only find it personally frustrating.
Maybe tailwind css works for some bright people. I did try it for a couple of projects and only felt pain.
However, the "atomic css" philosophy behind tailwind is great. I find framewroks like https://open-props.style/ far better to use.
- Htmx and Web Components: A Perfect Match
-
Styling React 2023 edition
Open Props adds to the set by providing extra custom properties for things like easing functions or animations.
-
The Future of CSS: Easy Light-Dark Mode Color Switching with Light-Dark()
> If you wanted to actually solve theming, what you should work for is not a constrained helper function like light-dark(), but instead a shared token schema. Today nearly every company has their own token schema and different ways of naming things in the semantic token layer. If we had a shard language here, not only would it be trivial to add light/dark theming (just redefine a few variables that are already provided for you), code could be shared between sites and inherit the theming/branding.
Isn't that the idea behind https://open-props.style/ (and https://theme-ui.com/ in JS land)?
I think it's a great idea, but hampered by the lack of adoption incentives for the very people that need to adopt it for it to become successful (design system/component library authors). It introduces constraints, but the promised interoperability is not really beneficial to the people who need to work within those constraints.
-
Tailwind CSS and the death of web craftsmanship
I do think that the real value of Tailwind comes from the utility classes, rather than css-in-html paradigm. You could achieve the same, for example, with Pollen.css [0] or Open Props [1].
[0] https://github.com/heybokeh/pollen
[1] https://github.com/argyleink/open-props
-
What is the best styling strategy for a Svelte project?
If you choose to style with plain CSS you can add design tokens as CSS variables with Open Props: https://open-props.style.
-
Released tw-variables: 400 useful Tailwind utilities as ready-to-import CSS variables
Some time ago I discovered Open Props which provides a lot of design tokens as CSS variables and started using it in some of my projects.
-
[Showcase] Searching for Friendly-User for Scrum-Tool Miyagi
CSS: Open Props (https://open-props.style/)
-
What UI framework would you recommend?
https://open-props.style/ gives you design tokens as CSS variables. It’s CSS only and not Svelte specific.
What are some alternatives?
stylefy - Clojure(Script) library for styling user interface components with ease.
carbon-components-svelte - Svelte implementation of the Carbon Design System
Rete.js - Rete.js is a framework for creating visual interfaces and workflows. It provides out-of-the-box solutions for visualization using various libraries and frameworks, as well as solutions for processing graphs based on dataflow and control flow approaches.
svelte-headlessui - Unofficial Svelte port of the Headless UI component library
Photon - Lightning fast and portable programming language!
pollen - The CSS variables build system
unocss - The instant on-demand atomic CSS engine.
Tailwind CSS - A utility-first CSS framework for rapid UI development.
stitches - [Not Actively Maintained] CSS-in-JS with near-zero runtime, SSR, multi-variant support, and a best-in-class developer experience.
modern-normalize - 🐒 Normalize browsers' default style
truss - A TypeScript DSL for writing utility CSS in React/JSX
vanilla-extract - Zero-runtime Stylesheets-in-TypeScript