Jeremy,

Looks good. I've been tinkering with grid systems on and off for the past month 
or so. Have you thought of trying your hand at porting something like the 
Foundation or Gumby grid system?

One thing I've discovered, and you might try this with your 960 implementation, 
is that using higher order functions can be very handy for building them out. 
For example, a make-grid function which accepts a map of configuration options 
and returns a function which takes a column number and optional parameters for, 
say, push and pull. It's a nice way to package things up.

I'm close to wrapping up a small colors framework for Garden which will be 
available in the next beta (hopefully it won't be in beta much longer). When I 
take it out of beta it'll probably include a Clojure flavored implementation of 
either the grid system that ships with Bootstrap or Foundation (including the 
mobile parts).

On the side I've been taking of advantage of Clojure to create a new concept 
for a layout system. It's based on the font-size/line-height ratio and allows 
for the construction of stylesheets such that the grid system and typography 
are harmonious. IOW it's a fat pain in the ass, but I don't think I could even 
fathom the idea of doing it in Sass.

TL;DR you have Clojure at your disposal! Though we're SOL on some very nice 
Sass libraries, we can potentially do more and at a higher level!

Thanks for sharing! It's inspiring.

On Jun 18, 2013, at 4:41 AM, JeremyS <jschoffen....@gmail.com> wrote:

> Hi Joel,
> 
> I have a quick and dirty implementation of a 960-ish grid system using a DSL 
> similar to garden If you want to take a look.
> 
> 
> 
> On Friday, April 26, 2013 1:01:44 AM UTC+2, Joel Holdbrooks wrote:
> It's funny you should bring that up! I've actually been working on extracting 
> the grid system from Bootstrap and modular scale from Foundation. But it's 
> mostly been tinkering.
> 
>   I am sorely tempted to give this a try.
> 
> Please do! If I come up with something I'll be sure to share a Gist.
> 
> 
> On Thu, Apr 25, 2013 at 3:27 PM, Clinton Dreisbach <cli...@dreisbach.us> 
> wrote:
> One interesting thing you could do, given both Garden and
> ClojureScript, is package CSS frameworks like Twitter Bootstrap or
> Zurb Foundation as a Clojure library. I am sorely tempted to give this
> a try.
> 
> On Thu, Apr 25, 2013 at 6:12 PM, Joel Holdbrooks <cjhold...@gmail.com> wrote:
> > 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...@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 (via meta data) and 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 clo...@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+u...@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+u...@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 clo...@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+u...@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+u...@googlegroups.com.
> > For more options, visit https://groups.google.com/groups/opt_out.
> >
> >
> 
> --
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clo...@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+u...@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+u...@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 a topic in the Google 
> Groups "Clojure" group.
> To unsubscribe from this topic, visit 
> https://groups.google.com/d/topic/clojure/xbFU2prTxlY/unsubscribe.
> 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.
>  
>  

-- 
-- 
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