Skip to content


Subversion checkout URL

You can clone with
Download ZIP
An example site powered by blað CMS.
JavaScript CoffeeScript
Branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.

blað example site

An example site powered by blað CMS.

Getting started

The CMS that powers the site is developed in Node.js, download the tarball and install it if not present:

$ ./configure
$ make
$ sudo make install

The CMS uses MongoDB 2 as a backend database; to install and start it up:

$ sudo apt-get install mongodb
$ sudo mongod

Install the dependencies of this "app" which is blad and then whatever packages you will be using in your site code; use package.json to define those then run:

$ npm install -d

Define the config for your site in config.json:

    "mongodb": "mongodb://localhost:27017/documents",
    "browserid": {
        "provider": "",
        "salt":     "Q?RAf!CAkus?ejuCruKu",
        "users": [
    "middleware": [
A uri to a MongoDB database
A BrowserID provider, the default is by Mozilla
A salt used to hash credentials so that an API key can be generated and used by the Chaplin admin. Do not leave it to default unless you know what you are doing!
An array of email addresses of people that should have access to the backend admin. If they have not created an account with the BrowserID provider, they will be offered a chance to do so on their first login to the site.
Middleware to use. Currently baddies is the only option and it filters requests for bad user-agents and urls.

Finally start the service, take note that if you wish to start it on a specific port, pass it in as the process.env.PORT variable:

$ node start.js

If you need to define your custom page types and styles (you do), follow the guide associated with the blað CMS project page.

Database backup

Two helpful functions have been exposed to let you export/import pages of your CMS. Call them like so:

$ node export.js
$ node import.js

Be aware that the import wipes the database clean first!

Something went wrong with that request. Please try again.