Is there a clever way to integrate Garden and Reagent besides adding classes to the elements and exporting Garden code to its own CSS file? I'm looking for something akin to CSS Modules or CSS-in-JS (CSS-in-CLJS).
But I would be satisfied for now to just be able to use Garden instead of Reagents own {:style {}}
pattern to write inline CSS.
@anantpaatra The v2.0.0
branch has a function for doing that. If you’re using deps.edn
you should be able to use it as a git dependency. The function is called vdom-style
: https://github.com/noprompt/garden/blob/v2.0.0/src/garden/core.cljc#L27
I’ve been pretty busy with Meander for some time now and I have no idea when I’ll get around to working on Garden again. I think what needs to happen is to ditch the whole 2.0.0
idea and create a new namespace and artifact for the newer code.
garden.core.<something>
and then start cutting releases to garden/<something>
to get things moving along.
I for once have very little idea of why Garden isn't cherished on the same level as Reagent is. Hope you find the time and a healthy way to keep pushing it forward, even if slowly. And thank you for vdom-style
, I am using deps.edn
so I'll try it out today.
@noprompt Are there any ways we could help move things forward with the new stuff? I've been wanting to start contributing to garden for a while, but I got a bit overwhelmed trying to figure out where to start.
@shaun-mahood I think the way forward is what I prescribed above: create a new space to work in. This has worked incredibly well for Meander. When I want to make a “breaking change” I just create a new place to work and release code to the new place.
Meander uses the “greek” theme i.e. meander.*.<greek>
for namespaces and meander/<greek>
as the release “place”.
The greek theme seems weird to retrofit but something with a clear, logical ordering is all I need.
I’m open to all ideas and collaboration at this point which will help get it out of the “stuck state” its in.
My experience with the versioning strategy I’ve been using in Meander has been incredibly liberating though, I will admit, its unclear what the drawbacks to it are beyond the potential to depend on more code.
I mean, whatever works best for you is probably the right place to start - I don't want to start putting time into places where my attempts to help are going to take up more of your time than it's worth. I don't think the naming scheme would cause me any problems in my projects, particularly since my garden code is all located in one small area - it does seem a bit confusing to add a place where alpha and beta mean something different, though. I see the appeal of it - I've started naming all my projects after dinosaurs, and it definitely took away the pressure to come up with a good name right at the start.
> I’ve started naming all my projects after dinosaurs I love it! 😂
To retrofit things, would you just change everything in master
to garden.alpha.*
, and everything in v2.0.0
to garden.beta.*
? Or would it make more sense to go through each function and only add the changed functions to a new beta
namespace?
Something like that. Off the top of my head I think flowers or, perhaps, painters?
The name Garden — and I don’t think this is documented anywhere — came from the “CSS Zen Garden”.
Its doubly sarcastic.
There’s no “Zen” in authoring CSS in CSS. 🙂
Hey, we could use chinese philosophers! smile
The “Zen” was supposed to come from authoring CSS in Clojure instead.
CSS Zen Garden blew me away when it first came out - made me feel like it was both possible for someone to do and completely impossible for me to do... 🙂
Also, I’m in between jobs right now and, if you (and anyone else) would like to meet up on, say, Zoom or Hangouts sometime, we could discuss the project in a more fluid setting.
“Public” discussion here is fine too but I thought I’d extend the invitation.
Yeah, I'd love to - it would be awesome if we could find one or two more people looking to get involved, too.