Liking cljdoc? Tell your friends :D

Herb

Build Status

Herb is a CSS styling library for Clojurescript, built using Garden, whose main focus is on component level styling using functions.

Requirements

Herb requires at least Clojure 1.9.0 and ClojureScript 1.9.542 due to use of clojure.spec.alpha to validate macro input.

Usage

Add TODO

(ns user
  (:require [herb.core :refer-macros [<class]]))

(defn style []
  {:background "red"})

(defn component
  [:div {:class (<class style)}])

Herb has two main macros, <class and <id, these macros takes a function that returns a Garden style map, and returns a classname/id based on the functions fully qualified name: In this case user/style.

Garden is used to translate the style map to CSS, which enables most of Gardens functionality, so familiarizing yourself with its features is a good idea.

Refer to the tutorial for a full overview and examples of Herbs features.

Development

Development is done using the demo/tutorial page as a testbed. To start the development server Leiningen is required:

lein with-profile +demo figwheel

To use in Emacs using Cider m-x cider-jack-in-clojurescript and pick figwheel to start a ClojureScript repl environment and a server. See .dir-locals.el.

Point your browser to localhost:3449

Testing

To run tests:

lein test

License

Copyright © 2018 Daniel Berg

Distributed under the Eclipse Public License, the same as Clojure.

Can you improve this documentation?Edit on GitHub

cljdoc is a website building & hosting documentation for Clojure/Script libraries

× close