Compojure is an open source web framework for the Clojure programming language. It emphasizes a thin I/O layer and a functional approach to web development.
Compojure is still in active development. The current stable branch has been released as version 0.1. All examples in this README refer to the latest development version, which differs slightly from version 0.1.
Here's a small web application written in Compojure:
(use 'compojure)
(defroutes my-app
(GET "/"
(html [:h1 "Hello World"]))
(ANY "*"
(page-not-found)))
(run-server {:port 8080}
"/*" (servlet my-app))
To run Compojure, you'll need:
- The Clojure programming language
- The Clojure-Contrib library
- A Java servlet container like Jetty
- Apache Commons FileUpload, IO and Codec.
These dependencies can be downloaded automatically using:
ant deps
For information on how to get started and use Compojure, please see our Wiki.
There is also a rough draft of a Compojure Tutorial available to read.
The Compojure Group is the best place to ask questions about Compojure, suggest improvements or to report bugs.
Eric Lavigne has written a series of excellent tutorials on Compojure: