Build scalable performant websites with the tools you need and the flexibility you want.

{{name}}

Get {{verbed}}

Caribou provides a fully functioning site immediately, with selectively chosen conventions.

But the beauty is that when you want to expand and alter this basic setup, nothing gets in your way.

All the tools are there, but nothing is imposed upon you.

Build exactly what needs to be built with robust and flexible building blocks.

Visit the Admin

Caribou comes with an admin for managing not only your content, routing, users and permissions, but also the Models which define what attributes and relationships your content has.

You can find it here: caribou admin (user:pass caribou:caribou)

Create some Pages

Pages link the routing structure of the site to the controllers and templates that render them.

Controllers are written in Clojure.

Templates by convention use Antlers (which we developed out of a mustache base directly from the needs of several projects)

But you can swap it out with whatever you want!

Create some Models

If all you need is to render some static templates, you're done.

But most likely there is data.

What does your site keep track of? People? Projects? Stories? Videos?

In the admin you can build models of your data and create associations between models.

This way the organization of your data reflects real world relationships, and can adapt to needs as they change.

Add Content

With your models in place, create some things!

Did you make a Person model with a name and an address and a mugshot?

Add a couple in the admin!

Visit the API

Now that you've made some models and content, you can access it all directly from the built in API:

The scheme is simple:

  • /_api/:model shows all instances of a given model.
  • /_api/:model/:id shows a particular instance.
  • /_api/:model/:id?include=:association gathers all content associated through :association.
For example: /_api/model?include=fields.link&order=id

Want More?

Check out the Docs