Bitbucket is a code hosting site with unlimited public and private repositories. We're also free for small teams!

Close

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.2.

Sample Code

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))

Dependencies

To run Compojure, you'll need:

These dependencies can be downloaded automatically using:

ant deps

Documentation

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.

Community

The Compojure Group is the best place to ask questions about Compojure, suggest improvements or to report bugs.

Tutorials

Eric Lavigne has written a series of excellent tutorials on Compojure:

Recent activity

Nothing to see here, move along.

Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.