Murtaza,

Thanks for having a look at the library. I'll try to answer you questions
as best as I can.


*How does Garden compare to other pre processors such as sass and less?*
*
*
There are some similarities with Garden and other CSS preprocessors. I've
tried to bring over the ones I found most useful when using them. Nested
selectors and declarations, parent selector references, and unit arithmetic
are all currently available to stylesheet authors.

The big difference and, in my opinion, the big win is you can build your
stylesheets with regular Clojure. This gives you a lot of power and freedom
you won't find anywhere else (AFAIK). To name just a few benefits:

   - There's no file parsing or interpretation step. It's just data
   transformation.
   - There's no need for any sort of special *@mixin* syntax or macros, you
   can use Clojure function.
   - There's no need for an *@include* directive thanks to clojure
   namespaces. This can help you organize your stylesheet in ways (I think)
   are much cleaner and less surprising than SASS and other preprocessors.
   - Thanks to Clojure, Garden (potentially) has clearer syntax than CSS
   which, if you look closely, can be pretty random in some places.

WIth regard to the third point, if you've ever tried using the SMACSS
approach to stylesheet authoring with a preprocessor like SASS, you can end
up with an explosion of files and tons of *@include* directives. It's not
fun, it's hard to manage, and it's difficult to see where code is coming
from - especially when using 3rd-party libraries.

*Also can I use it in my clojurescript projects ? I mean does it have any
java lib dependencies that would prevent it?*
*
*
It does have one small dependency on java.net.URI but I need some time to
think about whether or not it would be worth dropping. As far as using it
from a ClojureScript project, what sort of use case are you considering?

*What is the workflow when using Garden?*
*
*
My experience using Garden is probably close to others at this point. It's
kind of funny in that regard. I'm building a tool and at the same time am
learning how to use it. Personally, I create a namespace for my "core"
stylesheets and separate namespaces for things like utilities and so forth
(ie. *(ns me.css (:require [me.css.button :as button])*) . Then I have a
call to function that compiles and saves the stylesheet at the bottom of
the "core" stylesheets. Since I develop with Emacs and nREPL this means all
I have to do is reload the file and the CSS is "refreshed".

It isn't the best approach, but Garden is still very young and I haven't
thought about how a standardize the build process. But I would definitely
be open to any thoughts regarding that. A Leiningen plugin would be awesome!


I hope these answers are helpful. Please continue to experiment with the
library and express your thoughts!

Thanks,

Joel


On Wed, Apr 24, 2013 at 6:44 PM, Murtaza Husain <
murtaza.hus...@sevenolives.com> wrote:

> Joel,
>
> Thanks for the lib. Its great and I plan to use it in my projects.
>
> How does Garden compare to other pre processors such as sass and less ?
>
> Also can I use it in my clojurescript projects ? I mean does it have any
> java lib dependencies that would prevent it?
>
> What is the workflow when using Garden ? If I am using Sass, I would
> create a .scss file, and the sass daemon would watch over any changes to
> the file and compile it to .css.
>
> As I understand garden is generating css when called with the fn/macro
> (css [...]). Would it make sense to have a similar workflow like above;
> where a leiningen plugin watches for any .garden files and compiles them to
> .css files ? Or is there a better workflow that I am missing?
>
> Thanks,
> Murtaza
>
>
> On Tuesday, April 23, 2013 2:42:55 AM UTC+5:30, Joel Holdbrooks wrote:
>>
>> As of today, Garden is officially out of alpha and in to beta!
>>
>> The library now sports media 
>> queries<https://github.com/noprompt/garden#media-queries> (via
>> meta data) and parent selector 
>> references<https://github.com/noprompt/garden#parent-selector-references> 
>> (ie.
>> "&hover"). With these new features it is now possible to build more
>> sophisticated stylesheets bringing us a step closer to having a viable CSS
>> alternative in Clojure.
>>
>> Over the course of the next few weeks, I plan to continue improving the
>> library by adding "missing" features and functions to make the library as
>> powerful as possible when it's release as 0.1.0 stable.
>>
>> Now more than ever, I would like to encourage others in the community to
>> reach out with suggestions and code review. This my first "real" Clojure
>> library and after only six months with the language I'm sure it could
>> benefit greatly from both of these things.
>>
>  --
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> ---
> You received this message because you are subscribed to a topic in the
> Google Groups "Clojure" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/clojure/xbFU2prTxlY/unsubscribe?hl=en.
> To unsubscribe from this group and all its topics, send an email to
> clojure+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
>



-- 

Joel

-- 
-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to