Fork me on GitHub
#css
<
2021-02-12
>
Vincent Cantin05:02:39

Recently we have been very active at taking ideas from Tailwind and porting them in Clojure via some custom libraries. Those are the libraries I am aware of: • https://github.com/HealthSamurai/macrocsshttps://github.com/wilkerlucio/tailwind-gardenhttps://github.com/green-coder/girouettehttps://github.com/mrmcc3/tailwind-cljhttps://github.com/mikepjb/sail That’s a pretty good news, as it means that we have • a need for this “utility first” css approach • a lot of like minded developers sharing a purpose • a lot of choice when wanting to use the Tailwind classes

niquola05:02:19

sounds promising ;)

Vincent Cantin05:02:33

The idea that I had was to coordinate our plans for the future, so that we can collectively improve each of those libraries by discussing design ideas, or eventually to work together on shared projects which could be either extending existing libraries or creating a new one if necessary. I personally love diversity and love to have designs in disagreement with each other as it nurture choice for the end user. That being said, there are also things on which people will agree, and this common discussion is for enabling this later part.

niquola05:02:21

let's discuss details!

niquola05:02:43

if we agree on key decisions - probably it would be better to have one library

niquola05:02:51

we wrote macrocss, because it was missed

👍 3
niquola05:02:24

absolutely no ambitious to drive this project :)

Vincent Cantin05:02:22

This kind of information will also be valuable in the project’s “information card” in preparation of our online meeting.

Vincent Cantin05:02:14

I suggest that we compile information about each of the libraries in a small description so we can all know in the same way how they all work without having each of us digging in the source code of each of them. After this is done, we may schedule an online meeting to casually discuss about what to do next. We may follow up with a slow and async way to communicate, for instance via a Clojuverse forum.

Vincent Cantin05:02:24

I might not have time to prepare things this week, but that’s the main lines of what I have in mind.

Vincent Cantin05:02:07

Any feedback is welcome, please join the organization of our meeting actively if you want.

Vincent Cantin05:02:48

It would be also useful to discuss what could be done to improve how the Tailwind-like libraries can be composed with non-Tailwind-like libraries. I am think for example about using together Ornement and the garden-generating libraries.

Vincent Cantin05:02:27

[I am offline for the day]

niquola05:02:25

https://github.com/HealthSamurai/macrocss - provides macro (c ....), which generates a class name and integrated with shadow and figwheel. We decided to use data for rules - w-10 => [:w 10]. Each rule is multimethod producing garden. There is rule to pass raw garden: (c [:w 10] {:box-shadow "...}). Instead of hover/focus prefixes you can compose rules like [:hover [:bg ...] [:text ...]]

niquola05:02:08

We decided not to hook into sablono or hiccup - little bit more to write - but no deps from templating

niquola05:02:56

there is no dep from tailwind - user is free to create its own rules

niquola05:02:23

There was idea to use symbols instead of keywords in rules for autocomplete in ide

niquola05:02:51

class names may be based on file/line (good for dev env) or hash from resulting garden (auto-minimization and dedup)