cab is the app that powers, it allows users to post and share useful "snippets" of code.
Python JavaScript
Switch branches/tags
Nothing to show
Pull request Compare This branch is 2 commits ahead, 468 commits behind django:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.



Cab (named for the jazz bandleader and scat singer Cab Calloway) is a Django application which allows users to post and share useful "snippets" of code.

This code is used to power the snippet sharing site,

Installation notes

Cab has a couple of external dependencies:

Additionally, the default setup requires a few applications which are bundled with Django itself:

  • django.contrib.comments to enable commenting.
  • django.contrib.markup to handle Markdown formatting of
  • django.contrib.syndication to enable feeds.

It's also recommended that you have django.contrib.admin installed for ease of site maintenance.

Once you've got those taken care of, grab a git checkout of Cab from somewhere on your Python path:

git clone git://

Then add ratings, taggit and cab to the INSTALLED_APPS setting of your Django project, run syncdb, and either put a call to include('cab.urls.snippets') somewhere inn your root URLConf or copy over the URL patterns from Cab that you want to use.

Note that the get_absolute_url methods of the Language, Snippet and Tag models assume that they will live under the URLs /languages/, /snippets/ and /tags/, so if you want them to go elsewhere you'll need to edit those methods or ovveride them with Django's ABSOLUTE_URL_OVERRIDES setting.

For search support you need to set up a search engine and configure haystack:

HAYSTACK_SITECONF = 'search_sites' HAYSTACK_SEARCH_ENGINE = 'whoosh' # Place where search indexes are stored for snippets - should be non web accessible HAYSTACK_WHOOSH_PATH = '/some-path/search-index'

And you should add a file called to your project with the following lines:

import haystack haystack.autodiscover()


The git repo will get you a set of example templates matching those currently in use on


Yeah, there are tests now.