Hey Jeremy,

You might be interested, in case you hadn't heard of it yet, of the 
Semantic Grid (http://semantic.gs) probably in particular their Stylus 
version 
https://github.com/twigkit/semantic.gs/blob/master/stylesheets/styl/grid.styl 
but 
depending on your taste/clarity might also wish to check out their grid in 
Sass/SCSS. 

Its math is quite elegant and simple.

Cheers,
Rob

Op woensdag 19 juni 2013 13:14:03 UTC+2 schreef JeremyS het volgende:
>
> Hi Joel,
>
> Thank for the interest ! You can also take a look at some code have done 
> around css unit types there <https://github.com/JeremS/units>. It's got 
> arithmetic for 
> units and a namespace dedicated to colors. In it you'll find conversions 
> between rgb en hsl (that I have taken from the color 
> library<https://github.com/jolby/colors>
> )
> and the implementation of SASS color helpers. May be you could adapt my 
> library to garden. From what I have seen Garden uses
> protocols to compile different types into css and every unit (including 
> colors) I define is a record. So you might be able to extend my library 
> with Garden protocols and use it in garden without much effort. I'd be glad 
> to see that !
>
> About higher order function I have thought about that and went back, my 
> first approach made for to complicated function (complected even). With the 
> actual implementation I can just define stuff like:
>
> (def grid {}) ; grid spec with column, gutter...
>
> (def width (partial grid/witdh grid))
> (def push (partial grid/push grid))
>
>
> and then :
>
> (def side-style [:#side (width 4) 
>                                 (push 1)])
>
> for a side element spanning onto 4 columns and pushed off 1.
>
>
> Regarding more advanced systems like Foundation I haven't spent much time 
> trying to implement them with my DSL.
> To do so I need to up my CSS game because I am not yet well versed into 
> the art of responsive design and it will take me
> a bit of time wrapping my head around the media queries involved. If I try 
> to got responsive, I might probably study 
> the Unsemantic <http://unsemantic.com> system from the creator of the 960 
> one I think.
>
> Good luck with your work and don't hesitate on browsing my github, right 
> now most of the projects are oriented around CSS and there 
> might be some ideas there who knows ! 
>
> On Wednesday, June 19, 2013 8:54:48 AM UTC+2, Joel Holdbrooks wrote:
>>
>> 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 <jschof...@gmail.com> wrote:
>>
>> Hi Joel,
>>
>> I have a quick and dirty implementation of a 960-ish grid 
>> system<https://github.com/JeremS/cljss-grid>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 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.
>> 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.
>>  
>>  
>>
>>
>>

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