Zengarden is a riff on Joel Holdbrooks' excellent
garden<https://github.com/noprompt/garden>library. Zengarden is a
simple tool for generating CSS in Clojure. The goal
is to cover most of
CSS3<https://developer.mozilla.org/en-US/docs/Web/CSS/CSS3>.
The spirit of the library is to have declarative syntax, and be
controllable from edn. Github <https://github.com/twashing/zengarden> and
Clojars <https://clojars.org/zengarden> resources are in the expected
locations.

This is an alpha release, so there's a lot of TODOs, and stuff that I
haven't thought of. I've just built it for my own use case(s). When that
happens, you can *i)* input raw CSS *ii)* send me feature requests or
*iii)* send
me a pull request. These are some things you get out of the box.

   - nesting syntax
   - declarative, controllable from edn
   - @import <https://developer.mozilla.org/en-US/docs/Web/CSS/@import>
    calls
   - @media <https://developer.mozilla.org/en-US/docs/Web/CSS/@media>
    queries
   - namespaces<https://developer.mozilla.org/en-US/docs/Web/CSS/@namespace>

   - pass in raw CSS


I'm in the process of doing these other things. Pass in raw CSS, in lieu of.

   - pretty-printed or compressed output
   - inlined styling (for style attributes)
   - selectors (incl. *i.* attribute
selectors<http://dev.w3.org/csswg/selectors3/#attribute-selectors>(ex:
div[foo^="bar"])
   *ii.* combinators <http://dev.w3.org/csswg/selectors3/#combinators>
   *iii.* parent selectors )
    - pseudo-elements (incl. pseudo-element functions (ex: div:lang(fr)))
   - @charset <https://developer.mozilla.org/en-US/docs/Web/CSS/@charset>,
   @supports <https://developer.mozilla.org/en-US/docs/Web/CSS/@supports>,
   ( @page <https://developer.mozilla.org/en-US/docs/Web/CSS/@page>,
   @document <https://developer.mozilla.org/en-US/docs/Web/CSS/@document>,
   @font-face <https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face>and
   @keyframes <https://developer.mozilla.org/en-US/docs/Web/CSS/@keyframes>,
   not implemented; most are still experimental )


Please note that.

   - Zengarden makes no attempt to validate your CSS. it just knows how to
   handle a string pattern
   - Ensure to escape all quotations in a string
   - CSS Object Model <http://dev.w3.org/csswg/cssom/> (ex:
CSSImportRule<http://dev.w3.org/csswg/cssom/#the-cssimportrule-interface>,
   CSSMediaRule <http://dev.w3.org/csswg/cssom/#the-cssmediarule-interface>)
   is not implemented. I'll wait until the need arises.


These are some scss <http://sass-lang.com/> features that look interesting.

   - variables
   - partials
   - mixins
   - operators
   - inheritance

But as we are in Clojure, I don't want to pull in sass idioms wholesale. So
I think garden has the right idea in that respect.

   - garden declarations
   - garden units
   - garden color
   - garden arithmetic


I'll wait for the need to arise, before wasting too much time or energy in
any direction. Feedback is welcome.


Tim Washington
Interruptsoftware.com <http://interruptsoftware.com>

-- 
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/d/optout.

Reply via email to