Oh, two more things.

First, it would be really cool to have a tool to convert CSS to GardenCSS.
MichaƂ Marczyk suggested using Instaparse with the CSS3 grammar, which
sounds like a really easy way to make this happen. Unfortunately I don't
have the time or skill to do it, but if anyone else does, it sounds like
too cool an idea to pass up!

Also, I have gotten into the habit of defining CSS rules like { margin:
0px; margin-top: 0px; } because I can never remember the order of {margin:
a b c d}. But this won't work in Garden, because maps have no order, and
this trick relies totally on ordering. So it's something to watch out for
if you have the same habit.

-Steven


On Sat, Jul 6, 2013 at 8:58 AM, Steven Degutis <sbdegu...@gmail.com> wrote:

> So far, I really like Garden.
>
> There's one thing though that's making it difficult. It's hard to see that
> nested rules are nested.
>
> ;; hard to see nesting[:footer {:color "red"
>           :background-color "blue"}
>  [:a {:color "green"}]]
> ;; much easier(:footer {:color "red"
>           :background-color "blue"}
>          [:a {:color "green"}])
>
> (That's a bad example because it's so short. In the real world, much
> longer and deeper-nested rules show it clearer.)
>
> Technically I'm using emacs with clojure-mode.el, which indents vectors by
> only 1 char. But I don't think that's the problem. Normally it's good to
> indent them by only 1 char, but there's no way to differentiate between
> [:some [:random :data]], which should be indented like that, and a vector
> of garden-rules which should be indented more obviously. So I don't think
> this is something that changing our editors/plugins will fix.
>
> One solution is to use 
> defrule<https://github.com/noprompt/garden/issues/5#issuecomment-19848873>more
>  often. But if I have 3 elements with 3 children each, and each child
> has 3 children, that's already 27 defrules I have to stick above it.
> That'll get pretty unruly quick.
>
> So I was thinking of just using a dummy macro like this:
>
> (defmacro rule [& body] `[~@body])
> (def footer
>   (rule :footer {:color "red"
>                  :background-color "blue"}
>         (rule :a {:color "green"})))
>
> But you can imagine my discomfort at writing/using a macro just to make
> indentation easier.
>
> Are there any better solutions to this?
>
> -Steven
>
>
> On Tue, Apr 9, 2013 at 2:58 PM, Joel Holdbrooks <cjholdbro...@gmail.com>wrote:
>
>> Nobel Clojurians,
>>
>> I am pleased to announce the alpha version of 
>> *Garden*<https://github.com/noprompt/garden>,
>> a new library for writing CSS in Clojure.
>>
>> The project weds the best ideas from Hiccup, gaka, and cssgen and aims to
>> provide a clean and conventional way to author stylesheets without being
>> too simple or too complex.
>>
>> Currently the list of notable features include:
>>
>>    - Nestable rules
>>    - Nestable declarations (this my change)
>>    - A builtin set of tools for working with CSS unit values
>>    - Convenient multiple selector syntax (IE. h1, h2, h3 { ... })
>>    - Output formatting options
>>
>> What's planned for the near future:
>>
>>    - The ability to use Clojure meta as a media query
>>    - A builtin set of tools for working with CSS color values
>>    - & selector syntax for nested rules
>>
>> For those of you who are interested in this sort of thing, please have a
>> look at the *project's repository* <https://github.com/noprompt/garden>.
>> There is still quite a bit of ground to do cover and any
>> help/criticism/contribution would be greatly appreciated.
>>
>> Please feel free to offer suggestions, ask questions, open issues, or
>> send pull requests. I would love nothing more than to see this library
>> succeed where other's have not.
>>
>>
>> Truly,
>>
>> Joel Holdbrooks (aka noprompt)
>>
>>  --
>> --
>> 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.
>>
>>
>>
>
>

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