Unlike the mini-languages that are other pre/post-processor options, Garden leverages the full power of the Clojure programming language for CSS. As far as programming languages go, Clojure is known for its well-designedness and its firm programming-language heritage. For CSS, this means both great power and well-thought out design are at your fingertips.
Ranked in these QuestionsQuestion Ranking
Pros
Pro Style webpages with a full programming language
With Garden, you have access to all the core features of a powerful programming language to build your scripts, including functions, variables, namespaces, and data manipulation like map merging or concatenation.
Pro Full-stack Clojure with ClojureScript for front-end + Clojure for backend
Garden finishes the full Clojure stack experience — you can have the entire codebase in a single language with ClojureScript on the front-end, Clojure on the backend, and Garden for CSS.
Pro Hot loading
Using the core Garden auto loader or the excellent Garden Gnome plugin, watch your style changes take effect in the browser as soon as you save the code — no reload required.
Pro Styles as data-nesting are obvious
Clojure is a data-oriented programming language with strong emphasis on simple, clear inline data structures. Garden models styles using these same structures, making the cascade visually obvious.
Pro Clean syntax
Other options listed include various pain-points like use of @ symbols or too much cruft; because Garden is just Clojure, and Clojure is a very well-designed language aimed to emphasize simplicity and positive developer experience (without semantic whitespace problems), you have the full benefit of a well-designed and general-purpose syntax.
Pro CSS-engine accessible from front-end
Because Garden is also Clojurescript friendly, this means that you can dynamically effect styles based on app state.
Cons
Con Harder to apply shared styles
Because you are working in Clojure, you can't just paste in raw css style snippets shared elsewhere.
Commonly Compared
