lambdaisland / ornament

Clojure Styled Components
Mozilla Public License 2.0
118 stars 13 forks source link

Availability on Clojars #1

Closed euporos closed 2 years ago

euporos commented 2 years ago

Ornament's take on styling is highly interesting and I would love to take it for a test drive. Unfortunately, this is difficult with the library unavailable on Clojars. Would it be possible to publish it there in the near future?

Thanks for your great work and greetings form @mbertheau and the rest of the Machtfit team!

EDIT: Just noticed that you're not planning on publishing it before the API reaches stability. Is that restriction final? Why not just mark it as an alpha?

alysbrooks commented 2 years ago

I think it's mostly a time thing rather than a hard-and-fast rule. Since there's outside interest, I can see whether we want to revisit this decision.

Note that you can use libraries directly from Git using the Clojure CLI tools and in Leiningen (using a plugin).

oxalorg commented 2 years ago

I would love to take it for a test drive

If you're using tools.deps, you can copy this and start hacking! 🥷 😊

com.lambdaisland/ornament {:git/url "https://github.com/lambdaisland/ornament"
                                   :git/sha "80ede082f2571ab3026795f86f401b9402b79896"}
plexus commented 2 years ago

Hi @euporos , I've cut a first release of Ornament

[com.lambdaisland/ornament "0.0.7"]
{com.lambdaisland/ornament {:mvn/version "0.0.7"}}

Keep in mind that as long as we are 0.x.x we may still make breaking changes. We'd be very interested to hear about your experience trying it out though!

euporos commented 2 years ago

Thank you so much, @plexus, that's really great and certainly makes it easier to get one's feet wet. I'm well aware of the library being pretty alpha as of now and we're nowhere near swicthing all of our production code to it any time soon. But we're currently looking into options to improve our CSS pipeline and Ornament's value proposition makes it an interesting contender. So, thanks again and keep up the good work!

plexus commented 2 years ago

Are you using it on the Clojure or ClojureScript side? if it's clj or cljc I feel fairly confident, the ClojureScript side hasn't been exercised as much.

JohanCodinha commented 2 years ago

I use it do declare style in .cljs files, with a shadow-cljs hook to build the css.

plexus commented 2 years ago

In that case I'm definitely interested to hear about how that's working for you, good or bad. You can also always drop into the Lambda Island discord if you like to exchange experiences https://discord.gg/rb82a62D

JohanCodinha commented 2 years ago

It's working so far, I save the file, it get compiled, the hook trigger and shadow push the new css file to to browser. The only tricky thing is related to macro expansion done on the clojure side so I can't use cljs fn inside a defstyled, but that's how cljs works so kind of expected. I have yet to try building for deploy. (defn hook {:shadow.build/stage :flush} [build-state & _args] (let [css (o/defined-styles)] (when-not (blank? css) (spit "public/style.css" css))) build-state)

plexus commented 2 years ago

That's true, rules are compiled on the backend so they can't access frontend (cljs) functions. If you can use cljc then you can.