A ClojureScript implementation of Hiccup
Clojure
Latest commit ac992fa Dec 17, 2013 @ibdknox bulleting and use of Element protocol
Signed-off-by: Chris Granger <ibdknox@gmail.com>
Permalink
Failed to load latest commit information.
src/crate
test/crate initial import Feb 4, 2012
.gitignore
README.md
project.clj

README.md

crate

Crate is a ClojureScript implementation of the awesome Hiccup html templating library.

Usage

(ns myapp
 (:use-macros [crate.def-macros :only [defpartial]])
 (:require [crate.core :as crate]))

(crate/html [:p.woot {:id "blah"} "Hey!"])
=> <p class="woot" id="blah">Hey!</p>

(defpartial header []
 [:header
   [:h1 "My app!"]])

(header)
=> <header><h1>My app!</h1></header>

Differences from Hiccup

  • The crate.core/html returns dom nodes instead of strings of html
  • You can use dom nodes in element bodies like this:
(crate/html [:div (crate/raw "<span>foo</span><strong>bar</strong>")])
=> <div><span>foo</span><strong>bar</strong></div>

License

Copyright (C) 2011 Chris Granger

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