Skip to content
swannodette edited this page Dec 30, 2014 · 150 revisions

ClojureScript is a dialect of Clojure that targets JavaScript as a deployment platform.

Read These First

Tutorials

Reference

Tools

Editors

Leiningen plugins

Project Templates

  • chestnut Complete application template using Ring, Om, Figwheel and more
  • mies, absolutely minimal ClojureScript project template
  • mies-om, minimal Om project template
  • mies-node, minimal ClojureScript Node.js project template

REPLs

Compatible Clojure Contrib libraries

Libraries

Dom Manipulation

React Wrappers

HTML Templating

  • sablono, Hiccup style HTML generation
  • sablono-tools, Enlive-style selector-based templating and transformations for Sablono
  • kioo, Enlive style HTML generation
  • hipo, Hiccup style templating
  • enfocus, Enlive templating for ClojureScript
  • hickory parses HTML into Hiccup vectors

CSS Generation

Graphics

  • quil, Processing for Clojure & ClojureScript
  • apogee SVG charting
  • thi.ng/geom Geometry primitives, mesh operations, SVG & WebGL rendering (CLJX)
  • thi.ng/color Color space conversion & manipulation (CLJX)
  • thi.ng/tweeny Interpolation of arbitrary nested value maps (CLJX)

Client-side Routing

Networking

Data formats

Datastores

  • datascript, Datomic-like in-memory database
  • konserve, KV store protocol
  • hodgepodge A idiomatic interface to local and session storage
  • thi.ng/trio Non-RDF triplestores & SPARQL like query engine (CLJX)

Native iOS with embedded JavaScriptCore

Misc

  • purnam is a clojurescript library designed to provide better clojurescript/javascript interop, testing and documentation tools to the programmer.
  • cuerdas, string manipulation
  • schema, Validation & contracts
  • bardo, transitions
  • lucuma, WebComponents
  • differ, data structure diffing
  • component-cljs, port of Stuart Sierra's Component library
  • cats, Monads
  • lively, Client-side live programming support
  • patterny, Extract imagine patterns
  • phalanges, Keyboard events
  • keybind, Key bindings
  • cljs-time, Date/time lib (almost) consistent API with clj-time
  • cljs-promises, Promises
  • markdown-clj extensible Clojure/Script Markdown parser
  • json-html generates a DOM node with a human representation of the JSON/EDN encoded data
  • historian a drop-in atom-state-management (UNDOs!!) for your clojurescript projects
  • thi.ng/validate Schema based validation of nested data (CLJX)

Testing

Feedback

ClojureScript does not take pull requests. Please follow the links below to contribute to ClojureScript.

Additional Information

Clone this wiki locally